算法分析与设计
山东大学 · 软件学院
201 7 年
Analysis and Design of Algorithms
Graph Algorithms
Part I
Representations of graphs
–
Adjacency-list representation
–
Adjacency-matrix representation
Techniques for searching a graph
–
Breadth-first search algorithm (BFS)
–
Depth-first search algorithm (DFS)
Applications of DFS
–
Topological sort (for directed acyclic graph)
Graph Algorithms
Part II
Minimum spanning tree problem (for undirected graph)
–
Kruskal’s algorithm
–
Prim’s algorithm
Part III
Single-source shortest paths problem (for directed graph)
–
Bellman-Ford algorithm
–
Dijkstra’s algorithm
All-pairs shortest paths problem
–
Matrix-multiplication based algorithm
–
Floyd’s algorithm
–
Johnson’s algorithm
Graph Algorithms
Part IV
Maximum flow problem (for network)
–
Ford-Fulkerson algorithm
–
Dinic’s algorithm
Applications of Max-flow problem
–
Maximum matching algorithm for Bipartite graphs
1. What’s the problem
2. Basic ideas
3. The details
4. Time complexity
5. The correctness
6. …
Some concepts