কম্পিউটার

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


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

নীচে একই -

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

উদাহরণ

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' পদ্ধতিটি সংজ্ঞায়িত করা হয়েছে যা গভীরতার প্রথম অনুসন্ধান পদ্ধতি ব্যবহার করে গাছটি অতিক্রম করতে সাহায্য করে।

  • 'সংযুক্ত_কম্পোনেন্টস' নামে একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা একে অপরের সাথে সংযুক্ত নোডগুলি নির্ধারণ করতে সহায়তা করে৷

  • ক্লাসের একটি দৃষ্টান্ত তৈরি করা হয়, এবং এটিতে পদ্ধতিগুলি বলা হয়৷

  • নোড কনসোলে প্রদর্শিত হয়।

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


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

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

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

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