|
|
- 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):
-
- visited = [False]*(len(self.graph))
-
- self.DFSUtil(v,visited)
-
-
- g = Graph()
- edges = input("input the number of edges : ")
- print "enter nodes with zero based indexing : "
- for i in range(edges):
- a, b = map(int, raw_input().split())
- g.addEdge(a, b)
-
- check = input("DFS check from node : ")
- g.DFS(check)
|