Guided Lesson Notes
Understanding DFS Algorithm
DFS Algorithm focuses on relationships, reachability, paths, cycles, connectivity, and optimization over edges. Depth-first search explores as far as possible along a path before backtracking.
Model: draw vertices as dots and edges as connections; then decide whether direction, weight, or capacity matters.
Invariant: visited, distance, parent, component, or flow arrays must match what has actually been discovered so far.
Implementation: adjacency lists or matrices, queues, stacks, priority queues, union-find, and repeated edge relaxation.
Use DFS Algorithm when the problem mentions roads, networks, prerequisites, components, shortest paths, spanning costs, or dependency order.
