Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. class Graph:
  2. def __init__(self):
  3. self.graph = defaultdict(list)
  4.  
  5. def add_edge(self, u, v):
  6. self.graph[u].append(v)
  7.  
  8. def dfs(self, node):
  9. visited = [False for i in range(len(self.graph))]
  10. stack = []
  11. stack.append(node)
  12. visited[node] = True
  13. while stack:
  14. node = stack.pop()
  15. print node
  16. for i in self.graph[node]:
  17. if visited[i] == False:
  18. visited[i] = True
  19. stack.append(i)
  20.  
  21. def Bfs(self, node):
  22. visited = [False for i in range(len(self.graph))]
  23. queue = []
  24. queue.append(node)
  25. visited[node] = True
  26. while queue:
  27. node = queue.pop(0)
  28. print node
  29. for i in self.graph[node]:
  30. if not visited[i]:
  31. queue.append(i)
  32. visited[i] = True
  33.  
  34. if visited[i] == False:
  35.  
  36. if not visited[i]:
  37.  
  38. visited = [False for i in range(len(self.graph))]
  39.  
  40. visited = [False] * len(self.graph)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement