যখন একটি গাছের সমস্ত নোডের যোগফল খুঁজে বের করার প্রয়োজন হয়, তখন একটি ক্লাস তৈরি করা হয়, এবং এতে রুট নোড সেট করার পদ্ধতি রয়েছে, গাছে উপাদান যুক্ত করা, একটি নির্দিষ্ট উপাদান অনুসন্ধান করা এবং গাছের উপাদানগুলি যোগ করা যোগফল এবং তাই খুঁজে. এই পদ্ধতিগুলি অ্যাক্সেস এবং ব্যবহার করার জন্য ক্লাসের একটি উদাহরণ তৈরি করা যেতে পারে।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷উদাহরণ
from collections import deque
def add_edge(adj: list, u, v):
adj[u].append(v)
adj[v].append(u)
def detect_cycle(adj: list, s, V, visited: list):
parent = [-1] * V
q = deque()
visited[s] = True
q.append(s)
while q != []:
u = q.pop()
for v in adj[u]:
if not visited[v]:
visited[v] = True
q.append(v)
parent[v] = u
elif parent[u] != v:
return True
return False
def cycle_disconnected(adj: list, V):
visited = [False] * V
for i in range(V):
if not visited[i] and detect_cycle(adj, i, V, visited):
return True
return False
if __name__ == "__main__":
V = 5
adj = [[] for i in range(V)]
add_edge(adj, 0, 1)
add_edge(adj, 1, 2)
add_edge(adj, 2, 0)
add_edge(adj, 2, 3)
add_edge(adj, 2, 1)
if cycle_disconnected(adj, V):
print("There are 5 vertices in the graph")
print("0-->1")
print("1-->2")
print("2-->0")
print("2-->3")
print("2-->1")
print("Is there a cycle ?")
print("Yes")
else:
print("There are 5 vertices in the graph")
print("0-->1")
print("1-->2")
print("2-->0")
print("2-->3")
print("2-->1")
print("Is there a cycle ?")
print("Yes")
print("No") আউটপুট
There are 5 vertices in the graph 0-->1 1-->2 2-->0 2-->3 2-->1 Is there a cycle ? Yes
ব্যাখ্যা
-
প্রয়োজনীয় প্যাকেজগুলি আমদানি করা হয়৷
-
'add_edge' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা গ্রাফে নোড যোগ করতে সাহায্য করে।
-
'detect_cycle' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা গ্রাফের উপাদানগুলিকে সংযুক্ত করার সময় একটি চক্র গঠিত হয়েছে কিনা তা নির্ধারণ করতে সাহায্য করে৷
-
'cycle_disconnected' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা চক্রটি সংযুক্ত কিনা তা নির্ধারণ করতে সাহায্য করে।
-
'add_edge' পদ্ধতি ব্যবহার করে গ্রাফে উপাদান যোগ করা হয়।
-
এটি কনসোলে প্রদর্শিত হয়৷
৷ -
'cycle_disconnected' পদ্ধতি বলা হয় এবং আউটপুট কনসোলে প্রদর্শিত হয়।