Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. graph1 = {'0':set(['1','2']),
  2.          '1':set(['3','4']),
  3.          '2':set(['5','6']),
  4.          '3':set(['6']),
  5.          '4':set(['7'])}
  6.  
  7. def bfs(graf, start, target):
  8.     queue = [[start]]
  9.     visited = set()
  10.     i = 0
  11.     while queue:    
  12.         i = i + 1
  13.         path = queue.pop(0)
  14.         state = path[-1]
  15.         if state == target:
  16.             print("Number of steps: ", i)
  17.             return path
  18.         elif state not in visited:
  19.             for vertex in graf.get(state, []):  
  20.                 if vertex not in visited:
  21.                     path_new = list(path)
  22.                     path_new.append(vertex)
  23.                     queue.append(path_new)
  24.             visited.add(state)
  25.         lenght = len(queue)
  26.         if lenght == 0:
  27.             print("Not founded")
  28. print("Results: ",bfs(graph1,'0','5'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement