Article start
DSA Interview Patterns Roadmap
Graphs BFS and DFS

Deep Dive: BFS/DFS Island Family

Build interview depth for BFS/DFS Island Family.

May 29, 2026·20

Learning Outcome

Build interview depth for BFS/DFS Island Family.

Pattern Recognition

ItemDetail
Core signalThe basic pattern appears with an extra constraint, state, or follow-up.
Use whenGrid components are graph components with boundary rules.
Avoid whenThe required invariant is not monotonic or the input constraints point to a simpler direct scan.

Intuition

Grid components are graph components with boundary rules.

Exact Practice Question Names

  • Number of Islands
  • Closed Islands
  • Number of Enclaves

Interview Approach

  1. Start with the base family.
  2. Identify the new state or constraint.
  3. Show why the simpler approach fails.
  4. Add the smallest extra state needed.
  5. Dry-run a follow-up example.

Pseudocode

base_pattern_state
extra_state_from_followup
process in valid order
relax/update answer
return final state

Sample Dry Run

Use one small BFS/DFS Island Family sample and explicitly track the extra state introduced by the follow-up.

Edge Cases

  • Disconnected/unreachable state
  • Cycles or repeated states
  • Large constraints
  • Tie-breaking

Common Mistakes

  • Forcing the base template without adding required state
  • Not proving why revisits are safe or unsafe
  • Missing cycle handling

Complexity

ItemDetail
Expected timeDepends on expanded state; state count times transition count.
Expected spaceExpanded state size.

Java, C++ and Python Notes

  • Java: prefer explicit classes and clear helper methods over clever one-liners.
  • C++: use vector, unordered_map, set, priority_queue, and long long when sums can grow.
  • Python: keep state readable with dict, set, deque, heapq, and lru_cache where appropriate.

Quick Revision Checklist

  • Name the pattern before coding.
  • State the invariant or DP state in one sentence.
  • Dry-run the smallest non-trivial example.
  • Close with time and space complexity.

Discussion

0 comments

Sign in to share a question or add to the discussion.
Start the discussion

Ask a question or share what stood out to you.