Depth-first search (DFS) code in python

后端 未结 7 1474
暖寄归人
暖寄归人 2021-01-02 13:34

Can you please let me know what is incorrect in below DFS code. It\'s giving correct result AFAIK, but I don\'t know when it will fail.

graph1 = {
    \'A\'          


        
7条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-02 13:44

    DFS implementation in Python

    from collections import defaultdict
    
    class Graph:
        def __init__(self):
            self.graph = defaultdict(list)
    
        def addEdge(self, u, v):
            self.graph[u].append(v)
    
        def DFSUtil(self, v, visited):
            visited[v]=True
            print(v)
    
            for i in self.graph[v]:
                if visited[i] == False:
                    self.DFSUtil(i, visited)
    
        def DFS(self):
            V = len(self.graph)
    
            visited = [False]*(V)
    
            for i in range(V):
                if visited[i] == False:
                    self.DFSUtil(i, visited)
    
    # Driver code
    # Create a graph given in the above diagram
    g = Graph()
    g.addEdge(0, 1)
    g.addEdge(0, 2)
    g.addEdge(1, 2)
    g.addEdge(2, 0)
    g.addEdge(2, 3)
    g.addEdge(3, 3)
    
    print("Following is Depth First Traversal")
    g.DFS()
    

    Source :: this

提交回复
热议问题