কম্পিউটার

একটি অনির্দেশিত গ্রাফে BFS ব্যবহার করে সমস্ত সংযুক্ত উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম


যখন একটি গাছের সমস্ত নোডের যোগফল খুঁজে বের করার প্রয়োজন হয়, তখন একটি ক্লাস তৈরি করা হয়, এবং এতে রুট নোড সেট করার পদ্ধতি রয়েছে, গাছে উপাদান যুক্ত করা, একটি নির্দিষ্ট উপাদান অনুসন্ধান করা এবং গাছের উপাদানগুলি যোগ করা যোগফল এবং তাই খুঁজে. এই পদ্ধতিগুলি অ্যাক্সেস এবং ব্যবহার করার জন্য ক্লাসের একটি উদাহরণ তৈরি করা যেতে পারে।

নীচে একই -

এর একটি প্রদর্শন রয়েছে৷

উদাহরণ

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' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা একটি নির্দিষ্ট নোডের সাথে সংযুক্ত নোডগুলি নির্ধারণ করতে সাহায্য করে।

  • 'গ্রাফ_স্ট্রাকচার'-এর একটি উদাহরণ তৈরি করা হয়েছে।

  • 'add_edge' পদ্ধতি ব্যবহার করে এতে উপাদান যোগ করা হয়।

  • এটি কনসোলে প্রদর্শিত হয়৷

  • 'find_connected_components' বলা হয় এবং আউটপুট কনসোলে প্রদর্শিত হয়।


  1. পাইথনে একটি অনির্দেশিত গ্রাফের একটি শীর্ষবিন্দুর কম খরচের পথ আছে কিনা তা খুঁজে বের করার জন্য প্রোগ্রাম

  2. পাইথনে তারকা গ্রাফের কেন্দ্র খুঁজে বের করার প্রোগ্রাম

  3. পাইথন ব্যবহার করে সমস্ত নোডে পৌঁছানোর জন্য ন্যূনতম সংখ্যক শীর্ষবিন্দু খুঁজে বের করার প্রোগ্রাম

  4. Unitest ব্যবহার করে পাইথন প্রোগ্রামে ইউনিট টেস্টিং