10.1 Graph representations 10.2 Breadth-first and depth-first search algorithms 10.3 Topological sort 10.4 Disjoint sets and strategy of union by rank and path compression 10.5 Minimum spanning tree 10.6 Prim's and Kruskal's algorithm 10.7 Single-source shortest-paths algorithms: breadth-first search, Dag shortest paths, Dijkstra algorithm, and Bellman-Ford algorithm 10.8 All-pairs shortest-paths algorithms: brute-force, dynamic programming, Floyd-Warshall algorithm, and Johnson algorithm 10.9 Ford-Fulkerson max-flow algorithm and Edmonds-Karp algorithm