最小生成樹演算法

演算法文獻圖的種類演算法類型時間複雜度備註
Dijkstra-Jarník-Prim確定性\(O(m+n\log n)\)
Kruskal確定性\(O(m\log n)\)排序後 \(O(m\alpha(n))\)
Borůvka確定性\(O(m\log n)\)
Borůvka-Prim確定性\(O(m\log\log n)\)
Yao1確定性\(O(m\log\log n)\)
Tarjan2確定性\(O(m\log\log n)\)
Fredman-Tarjan3確定性\(O(m\log^* n)\)Fibonacci Heaps 問世
Gabow-Galil-Spencer-Tarjan4確定性\(O(m\log\log^* n)\)
Fredman-Willard整數權重確定性\(O(m)\)
Karger-Klein-Tarjan5期望時間\(O(m)\)
Chazelle6確定性\(O(m\alpha(n))\)
Pettie-Ramachandran7確定性決策樹最佳的

驗證最小生成樹

近似最小生成樹

參考資料

1

Andrew Chi-chih Yao, An \(O(\vert E\vert \log\log \vert V\vert )\) algorithm for finding minimum spanning trees, Information Processing Letters, 1975.

2

Robert Endre Tarjan, Finding Minimum Spanning Trees, Technical Report, 1975.

3

Michael L. Fredman and Robert Endre Tarjan, Fibonacci heaps and their uses in improved network optimization algorithms, JACM, 1987.

4

H. N. Gabow, Z. Galil, T. Spencer, and R. E. Tarjan, Efficient algorithms for finding minimum spanning trees in undirected and directed graphs, Combinatorica, 1986.

5

David R. Karger, Philip N. Klein, and Robert E. Tarjan, A randomized linear-time algorithm to find minimum spanning trees, JACM, 1995.

7

Seth Pettie and Vijaya Ramachandran, An optimal minimum spanning tree algorithm, JACM 2002.

直接應用的文章

  • MST on Minor-Closed Graphs 是線性時間:https://www.emis.de/journals/AM/04-3/am1139.pdf (可以理解,因為 Minor-Closed Graphs 是稀疏圖,永遠有 \(m=O(n)\)。)
  • MST on High Girth 是線性時間:https://www.cs.utexas.edu/~danama/papers/mst/high-girth.pdf (居然沒有發表過...,這篇傳達的概念是說,從 graph girth 去解決 MST 可能是希望渺茫的:如果有常數腰圍的線性時間演算法,就能有真正的線性時間演算法。)