Guided Lesson Notes
Understanding Dijkstra's Algorithm
Dijkstra's Algorithm focuses on relationships, reachability, paths, cycles, connectivity, and optimization over edges. Dijkstra's algorithm finds shortest paths from one source when edge weights are nonnegative.
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 Dijkstra's Algorithm when the problem mentions roads, networks, prerequisites, components, shortest paths, spanning costs, or dependency order.
