เมื่อจำเป็นต้องค้นหาผลรวมของโหนดทั้งหมดของต้นไม้ คลาสจะถูกสร้างขึ้นและประกอบด้วยวิธีการตั้งค่าโหนดรูท เพิ่มองค์ประกอบให้กับต้นไม้ ค้นหาองค์ประกอบเฉพาะ และเพิ่มองค์ประกอบของต้นไม้ หาผลรวมและอื่น ๆ สามารถสร้างอินสแตนซ์ของคลาสเพื่อเข้าถึงและใช้เมธอดเหล่านี้ได้
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
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("There are 6 edges. They are : ") print("1-->0") print("2-->3") print("3-->4") print("5-->0") connected_comp = my_instance.find_connected_components() print("The connected components are...") print(connected_comp)
ผลลัพธ์
There are 6 edges. They are : 1-->0 2-->3 3-->4 5-->0 The connected components are... [[0, 1, 5], [2, 3, 4]]
คำอธิบาย
-
มีการกำหนดคลาสชื่อ 'Graph_structure' ด้วยเมธอด '_init_'
-
มีการกำหนดเมธอดที่ชื่อว่า 'DFS_Utility' ซึ่งช่วยในการสำรวจความลึกครั้งแรกบนองค์ประกอบของกราฟ
-
มีการกำหนดวิธีการอื่นที่เรียกว่า "add_edge" ซึ่งช่วยเพิ่มโหนดให้กับกราฟ
-
มีการกำหนดวิธีการอื่นที่ชื่อว่า 'find_connected_components' ที่ช่วยระบุโหนดที่เชื่อมต่อกับโหนดเฉพาะ
-
อินสแตนซ์ของ "โครงสร้าง Graph_" ถูกสร้างขึ้น
-
เพิ่มองค์ประกอบเข้าไปโดยใช้วิธี "add_edge"
-
จะแสดงบนคอนโซล
-
มีการเรียก 'find_connected_components' และเอาต์พุตจะแสดงบนคอนโซล