যখন একটি গাছের সমস্ত নোডের যোগফল খুঁজে বের করার প্রয়োজন হয়, তখন একটি ক্লাস তৈরি করা হয়, এবং এতে রুট নোড সেট করার পদ্ধতি রয়েছে, গাছে উপাদান যুক্ত করা, একটি নির্দিষ্ট উপাদান অনুসন্ধান করা এবং গাছের উপাদানগুলি যোগ করা যোগফল এবং তাই খুঁজে. এই পদ্ধতিগুলি অ্যাক্সেস এবং ব্যবহার করার জন্য ক্লাসের একটি উদাহরণ তৈরি করা যেতে পারে।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷উদাহরণ
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("The reachable nodes from ", u, " are")
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) আউটপুট
The reachable nodes from 2 are 2 1 3 4 The reachable nodes from 4 are 2 1 3 4 The reachable nodes from 5 are 5 6 7 The reachable nodes from 7 are 5 6 7
ব্যাখ্যা
-
প্রয়োজনীয় প্যাকেজগুলি আমদানি করা হয়৷
-
'add_edge' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা গাছে উপাদান যোগ করতে সাহায্য করে।
-
'BFS_operation' পদ্ধতিটি প্রস্থ প্রথম অনুসন্ধান পদ্ধতি ব্যবহার করে গাছটি অতিক্রম করতে সাহায্য করে।
-
'displayReachableNodes' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা একটি নির্দিষ্ট নোড থেকে পৌঁছানো যেতে পারে এমন নোডগুলি প্রদর্শন করতে সাহায্য করে৷
-
'findReachableNodes' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা নোডের মাধ্যমে পুনরাবৃত্তি করে এবং উপাদানগুলিতে 'BFS_operation' সম্পাদন করে।
-
'add_edge' পদ্ধতি গ্রাফে নোড যোগ করে।
-
একটি তালিকা সংজ্ঞায়িত করা হয় এবং কনসোলে প্রদর্শিত হয়৷
৷ -
পদ্ধতিটি বলা হয় এবং আউটপুট কনসোলে প্রদর্শিত হয়।