Correct the wrong iterative DFS implementation (#867)

* Update DFS.py

* Update DFS.py
This commit is contained in:
Guo 2019-06-04 16:34:28 +08:00 committed by John Law
parent c2552cdfcd
commit f9b8dbf9db

View File

@ -18,10 +18,15 @@ def dfs(graph, start):
explored, stack = set(), [start]
explored.add(start)
while stack:
v = stack.pop() # the only difference from BFS is to pop last element here instead of first one
v = stack.pop() # one difference from BFS is to pop last element here instead of first one
if v in explored:
continue
explored.add(v)
for w in graph[v]:
if w not in explored:
explored.add(w)
stack.append(w)
return explored