Lazily traverse a graph depth-first with an explicit stack and no recursion.
Constraints
Example
>>> graph = {'A': ['B', 'C'], 'B': ['D'], 'C': [], 'D': []}
>>> list(dfs_generator(graph, 'A'))
['A', 'B', 'D', 'C']
>>> list(dfs_generator(graph, 'C'))
['C']
Recent Submissions
No submissions yet — hit Run Tests to try!
Hints