যখন একটি অনির্দেশিত গ্রাফে গভীরতা প্রথম অনুসন্ধান ব্যবহার করে সমস্ত সংযুক্ত উপাদানগুলি খুঁজে বের করার প্রয়োজন হয়, তখন একটি শ্রেণী সংজ্ঞায়িত করা হয় যাতে মানগুলি শুরু করার পদ্ধতি রয়েছে, গভীরতার প্রথম অনুসন্ধান ট্রাভার্সাল সম্পাদন করা, সংযুক্ত উপাদানগুলি খুঁজে পাওয়া, গ্রাফে নোড যুক্ত করা ইত্যাদি। ক্লাসের উদাহরণ তৈরি করা যেতে পারে এবং পদ্ধতিগুলি অ্যাক্সেস করা যেতে পারে এবং অপারেশন করা যেতে পারে এবং এটিতে সঞ্চালিত হতে পারে।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷উদাহরণ
class Graph_struct: def __init__(self, V): self.V = V self.adj = [[] for i in range(V)] def DFS_Utililty(self, temp, v, visited): visited[v] = True temp.append(v) for i in self.adj[v]: if visited[i] == False: temp = self.DFS_Utililty(temp, i, visited) return temp def add_edge(self, v, w): self.adj[v].append(w) self.adj[w].append(v) def connected_components(self): visited = [] conn_compnent = [] for i in range(self.V): visited.append(False) for v in range(self.V): if visited[v] == False: temp = [] conn_compnent.append(self.DFS_Utililty(temp, v, visited)) return conn_compnent my_instance = Graph_struct(5) my_instance.add_edge(1, 0) my_instance.add_edge(2, 3) my_instance.add_edge(3, 0) print("1-->0") print("2-->3") print("3-->0") conn_comp = my_instance.connected_components() print("The connected components are :") print(conn_comp)
আউটপুট
1-->0 2-->3 3-->0 The connected components are : [[0, 1, 3, 2], [4]]
ব্যাখ্যা
-
'গ্রাফ_স্ট্রাকট' নামের একটি শ্রেণী সংজ্ঞায়িত করা হয়েছে।
-
'add_edge' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা গাছে উপাদান যোগ করতে সাহায্য করে।
-
'DFS_Utility' পদ্ধতিটি সংজ্ঞায়িত করা হয়েছে যা গভীরতার প্রথম অনুসন্ধান পদ্ধতি ব্যবহার করে গাছটি অতিক্রম করতে সাহায্য করে।
-
'সংযুক্ত_কম্পোনেন্টস' নামে একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা একে অপরের সাথে সংযুক্ত নোডগুলি নির্ধারণ করতে সহায়তা করে৷
-
ক্লাসের একটি দৃষ্টান্ত তৈরি করা হয়, এবং এটিতে পদ্ধতিগুলি বলা হয়৷
৷ -
নোড কনসোলে প্রদর্শিত হয়।
-
সংযুক্ত উপাদানগুলি কনসোলে আউটপুট হিসাবে প্রদর্শিত হয়৷
৷