Overview
DFS (Depth-First Search) — ek path pe jitna deep ja sako jao, phir backtrack karo. Maze solving classic use case.
Analogy
Jaise maze solve karna — ek direction mein jaate raho jab tak dead end na aaye, phir backtrack karo.
Step-by-step
- Stack ya recursion use karo
- Current node ko visited mark karo
- Har unvisited neighbor ke liye DFS call karo
- Backtrack jab koi unvisited neighbor na ho
Visual
Graph: 1-2, 1-3, 2-4
DFS from 1: 1->2->4(backtrack)->3
Common mistakes
- Visited track nahi karna — cycles mein infinite loop
- Pre-order vs post-order processing confusion
- Stack overflow deep graphs mein — iterative use karo
Practice questions
- DFS se connected components count karo
- Cycle detection undirected graph mein DFS se karo