जब ट्री के सभी नोड्स का योग खोजना हो, तो एक क्लास बनाई जाती है जिसमें रूट नोड सेट करने, ट्री में एलिमेंट्स जोड़ने, विशिष्ट एलिमेंट खोजने और ट्री के एलिमेंट्स को जोड़कर योग खोजने आदि के लिए मेथड्स होते हैं। क्लास का एक इंस्टेंस बनाकर इन मेथड्स को एक्सेस और उपयोग किया जा सकता है।
उदाहरण
from collections import deque
def add_edge(v, w):
global visited_node, adj
adj[v].append(w)
adj[w].append(v)
def BFS_operation(component_num, src):
global visited_node, adj
queue = deque()
queue.append(src)
visited_node[src] = 1
reachableNodes = []
while (len(queue) > 0):
u = queue.popleft()
reachableNodes.append(u)
for itr in adj[u]:
if (visited_node[itr] == 0):
visited_node[itr] = 1
queue.append(itr)
return reachableNodes
def displayReachableNodes(m):
for i in m:
print(i, end=" ")
print()
def findReachableNodes(my_list, n):
global V, adj, visited_node
a = []
component_num = 0
for i in range(n):
u = my_list[i]
if (visited_node[u] == 0):
component_num += 1
a = BFS_operation(component_num, u)
print("पहुंच योग्य नोड्स", u, "से हैं")
displayReachableNodes(a)
V = 7
adj = [[] for i in range(V + 1)]
visited_node = [0 for i in range(V + 1)]
add_edge(1, 2)
add_edge(2, 3)
add_edge(3, 4)
add_edge(3, 1)
add_edge(5, 6)
add_edge(5, 7)
my_list = [2, 4, 5, 7]
arr_len = len(my_list)
findReachableNodes(my_list, arr_len)
आउटपुट
पहुंच योग्य नोड्स 2 से हैं 2 1 3 4 पहुंच योग्य नोड्स 4 से हैं 2 1 3 4 पहुंच योग्य नोड्स 5 से हैं 5 6 7 पहुंच योग्य नोड्स 7 से हैं 5 6 7
व्याख्या
आवश्यक पैकेज आयात किए जाते हैं।
'add_edge' नामक एक मेथड परिभाषित की जाती है जो ट्री में एलिमेंट्स जोड़ने में मदद करती है।
'BFS_operation' मेथड ब्रेडथ फर्स्ट सर्च दृष्टिकोण का उपयोग करके ट्री को ट्रैवर्स करने में मदद करती है।
'displayReachableNodes' नामक एक मेथड परिभाषित की जाती है जो किसी विशिष्ट नोड से पहुंच योग्य नोड्स को प्रदर्शित करने में मदद करती है।
'findReachableNodes' नामक एक मेथड परिभाषित की जाती है जो नोड्स के माध्यम से पुनरावृति करती है और एलिमेंट्स पर 'BFS_operation' करती है।
'add_edge' मेथड्स ग्राफ में नोड्स जोड़ते हैं।
एक सूची परिभाषित की जाती है और कंसोल पर प्रदर्शित की जाती है।
मेथड को कॉल किया जाता है और आउटपुट कंसोल पर प्रदर्शित होता है।