DFS/BFS Deep-Dive Graph Problem
Problem: A graph-traversal problem requiring deep understanding of DFS and BFS beyond the textbook template - e.g., detecting cycles, computing connected components, or finding shortest paths in a grid/graph using BFS layer-by-layer traversal.
Constraints: Graph given as adjacency list or 2D grid; typically up to 10^4-10^5 nodes/cells.
Example: Given a grid of land/water cells, count the number of islands (connected components of land cells) using DFS/BFS flood-fill.
Approach: Use DFS (recursive or with an explicit stack) or BFS (with a queue) to traverse from each unvisited node, marking visited nodes to avoid re-processing. For shortest-path variants, BFS guarantees the minimum number of edges/steps since it explores level by level. Complexity is O(V+E) for both.