Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- graph = {'0':set(['1','2']),
- '1':set(['3','4']),
- '2':set(['5','6']),
- '3':set(['6']),
- '4':set(['7'])}
- def dfs(graf, start, target):
- stack = [[start]]
- visited = set()
- i = 0
- while stack:
- stack_lenght = len(stack)-1
- path = stack.pop(stack_lenght)
- state = path[-1]
- i = i + 1
- if state == target:
- print("Number of steps: ", i)
- return path
- elif state not in visited:
- for vertex in graf.get(state, []):
- if vertex not in visited:
- path_new = list(path)
- path_new.append(vertex)
- stack.append(path_new)
- visited.add(state)
- lenght = len(stack)
- if lenght == 0:
- print("Not founded")
- print("Results: ",dfs(graph,'0','5'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement