undirected graph (has a cycle)
0
1
2
3
4
call stack
(empty)
DFS with a visited set
▸1dfs(graph):2 visited = {}3 dfs(u):4 if u in visited: return // never re-enter5 mark u visited6 for v in adj[u]: dfs(v)7 return
state
- nodes (V)5
- edges (E)5
- cycle0-1-2-0