Graphs consist of vertices connected by edges (directed or undirected). Master adjacency list representations, connected component traversal (DFS/BFS), topological sorting (Kahn's Algo), and shortest path routing (Dijkstra's Algo) in C++.
Adjacency List vs Matrix: Adjacency list saves space O(V+E) for sparse graphs.
Shortest Path Unweighted BFS: BFS guarantees finding minimum edge distance first.
Topological Sort: Orders directed acyclic graph (DAG) vertices by prerequisites.
Dijkstra's Algorithm: Min-heap priority queue for non-negative weighted shortest path.