- D1 拓扑排序
拓扑排序:有向无环图的线性排序。
3 min read zh - D2 狄克斯特拉算法
Dijkstra 最短路:非负权,堆优化。
5 min read zh - D3 SPFA算法
SPFA 最短路:队列优化的 Bellman-Ford。
3 min read zh - D4 最短路 Floyd 算法
Floyd 最短路:O(n³) 全源最短路与传递闭包。
3 min read zh - D5 全源 Johnson 算法
Johnson 全源最短路:重赋权 + 多次 Dijkstra。
5 min read zh - D6 最小生成树-Prim与Kruscal
最小生成树:Prim(加点)与 Kruscal(加边)。
4 min read zh - D7 倍增算法(LCA)
倍增法求 LCA:树上最近公共祖先。
4 min read zh - D8 树链剖分(最近公共祖先 LCA)
树链剖分:重链剖分求 LCA 与路径操作。
4 min read zh - D9 重链剖分+线段树
树链剖分 + 线段树:树上路径修改与查询。
6 min read zh - D10 树上距离
树上前缀和/差分:求树上两点距离与路径和。
2 min read zh - D11 强连通分量Tarjan算法
Tarjan 强连通分量:有向图 SCC。
2 min read zh - D12 Tarjan SCC缩点
SCC 缩点:把强连通分量缩成 DAG。
2 min read zh - D13 Tarjan割点
Tarjan 割点:无向图割点判定。
2 min read zh - D14 Tarjan割边
Tarjan 割边(桥):无向图桥判定。
3 min read zh - D15 Tarjan eDCC缩点
边双连通分量缩点(eDCC)。
3 min read zh