You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# from a given given graph fromcollectionsimportdefaultdict# This class represents a directed graph using # adjacency list representation classGraph:
# Constructor def__init__(self):
# default dictionary to store graph self.graph=defaultdict(list)
# function to add an edge to graph defaddEdge(self, u, v):
self.graph[u].append(v)
# A function used by DFS defDFSUtil(self, v, visited):
# Mark the current node as visited # and print it visited[v] =Trueprint(v, end=' ')
# Recur for all the vertices # adjacent to this vertex foriinself.graph[v]:
ifvisited[i] ==False:
self.DFSUtil(i, visited)
# The function to do DFS traversal. It uses # recursive DFSUtil() defDFS(self, v):
# Mark all the vertices as not visited visited= [False] * (len(self.graph))
# Call the recursive helper function # to print DFS traversal self.DFSUtil(v, 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 DFS from (starting from vertex 2)")
g.DFS(3)