जब ट्री के सभी नोड्स का योग खोजना हो, तो एक क्लास बनाई जाती है जिसमें रूट नोड सेट करने, ट्री में एलिमेंट्स जोड़ने, विशिष्ट एलिमेंट खोजने और ट्री के एलिमेंट्स को जोड़कर योग खोजने आदि के लिए मेथड्स होते हैं। क्लास का एक इंस्टेंस बनाकर इन मेथड्स को एक्सेस और उपयोग किया जा सकता है।
उदाहरण
class Graph_structure:
def __init__(self, V):
self.V = V
self.adj = [[] for i in range(V)]
def DFS_Utility(self, temp, v, visited):
visited[v] = True
temp.append(v)
for i in self.adj[v]:
if visited[i] == False:
temp = self.DFS_Utility(temp, i, visited)
return temp
def add_edge(self, v, w):
self.adj[v].append(w)
self.adj[w].append(v)
def find_connected_components(self):
visited = []
connected_comp = []
for i in range(self.V):
visited.append(False)
for v in range(self.V):
if visited[v] == False:
temp = []
connected_comp.append(self.DFS_Utility(temp, v, visited))
return connected_comp
my_instance = Graph_structure(6)
my_instance.add_edge(1, 0)
my_instance.add_edge(2, 3)
my_instance.add_edge(3, 4)
my_instance.add_edge(5, 0)
print("6 एज हैं। वे हैं:")
print("1-->0")
print("2-->3")
print("3-->4")
print("5-->0")
connected_comp = my_instance.find_connected_components()
print("कनेक्टेड कंपोनेंट्स हैं...")
print(connected_comp)
आउटपुट
6 एज हैं। वे हैं: 1-->0 2-->3 3-->4 5-->0 कनेक्टेड कंपोनेंट्स हैं... [[0, 1, 5], [2, 3, 4]]
व्याख्या
'Graph_structure' नामक एक क्लास '__init__' मेथड के साथ परिभाषित की जाती है।
'DFS_Utility' नामक एक मेथड परिभाषित की जाती है जो ग्राफ के एलिमेंट्स पर डेप्थ फर्स्ट ट्रैवर्सल करने में मदद करती है।
'add_edge' नामक एक अन्य मेथड परिभाषित की जाती है जो ग्राफ में नोड्स जोड़ने में मदद करती है।
'find_connected_components' नामक एक अन्य मेथड परिभाषित की जाती है जो किसी विशिष्ट नोड से जुड़े नोड्स को निर्धारित करने में मदद करती है।
'Graph_structure' का एक इंस्टेंस बनाया जाता है।
'add_edge' मेथड का उपयोग करके एलिमेंट्स इसमें जोड़े जाते हैं।
इसे कंसोल पर प्रदर्शित किया जाता है।
'find_connected_components' को कॉल किया जाता है और आउटपुट कंसोल पर प्रदर्शित होता है।