Advertisement
Kaidul

python bfs & dfs

Sep 23rd, 2013
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. from Queue import *
  2.  
  3. graph = {
  4.         '1': ['2', '3'],
  5.         '2': ['4', '5'],
  6.         '5': ['6', '7']
  7.         }
  8.  
  9. #from enum import Enum
  10. #ColorCode = Enum('ColorCode', 'white grey black')
  11.  
  12. def bfs (source):
  13.     queue = []
  14.     #visited = []
  15.     queue.append(source)
  16.     while queue:
  17.         path = queue.pop(0)
  18.         node = path[-1]
  19.         print (node + " -> ")
  20.         for adjacent in graph.get(node, []):
  21.             new_path = list(path)
  22.             new_path.append(adjacent)
  23.             node = new_path[-1]
  24.             print (adjacent)
  25.             queue.append(new_path)
  26.  
  27. bfs('1')
  28.  
  29. color = []
  30. for i in range(30):
  31.        color.append(0)
  32. def dfs (source):
  33.     for adjacent in graph.get(source, []):
  34.         new_path = []
  35.         new_path.append(adjacent)
  36.         node = new_path[-1]
  37.         dfs (node)
  38.         print (node)
  39.  
  40. dfs('1')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement