Mental Model
DFS explores as far as possible along each branch before backtracking. It dives deep into one path before trying others.
Analogy: Imagine exploring a maze by always taking the first unexplored path you see, going deep until you hit a dead end, then backtracking to try other paths.
Graph adjacency list: 0 -> [1, 2] 1 -> [2] 2 -> [0, 3] 3 -> [3] Start at node 2 ↑
