Guided Lesson Notes
Understanding Adjacency List
Adjacency List focuses on relationships, reachability, paths, cycles, connectivity, and optimization over edges. An adjacency list stores each vertex with its neighbors, usually saving space when most vertices connect to only a few others.
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 Adjacency List when the problem mentions roads, networks, prerequisites, components, shortest paths, spanning costs, or dependency order.
