Undirected, General MST (Minimum Spanning Tree (MST))

From Algorithm Wiki
Jump to navigation Jump to search


A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected; edge-weighted undirected graph that connects all the vertices together; without any cycles and with the minimum possible total edge weight. Here, there are no restrictions on edge weights or graph density.

Related Problems

Subproblem: Undirected, Dense MST, Undirected, Planar MST, Undirected, Integer Weights MST

Related: Undirected, Planar MST, Undirected, Integer Weights MST, Directed (Optimum Branchings), General MST, Directed (Optimum Branchings), Super Dense MST


$V$: number of vertices

$E$: number of edges

$U$: maximum edge weight

Table of Algorithms

Name Year Time Space Approximation Factor Model Reference
Kruskal’s algorithm with demand-sorting 1991 $O(E \log V)$ $O(E)$ Exact Deterministic Time
Quick Kruskal algorithm 2006 $O(E \log V)$ $O(E)$ Exact Deterministic Time
Karger; Klein & Tarjan 1995 $O(min(V^{2}, ElogV)$) $O(E)$ Exact Randomized Time
Borůvka's algorithm 1926 $O(E \log V)$ $O(V)$ auxiliary Exact Deterministic
Prim's algorithm + adjacency matrix searching 1957 $O(V^{2})$ $O(V)$ auxiliary Exact Deterministic Time
Prim's algorithm + Fibonacci heaps; Fredman & Tarjan 1987 $O(E + V \log V)$ $O(V)$ auxiliary? Exact Deterministic Time
Kruskal's algorithm 1956 $O(E \log E)$ $O(E)$ auxiliary Exact Deterministic Time
Yao's algorithm 1975 $O(E \log \log V)$ $O(E)$ auxiliary? Exact Deterministic Time
Cheriton-Tarjan Algorithm 1976 $O(E \log \log V)$ $O(E)$ auxiliary? Exact Deterministic Time
Filter Kruskal algorithm 2009 $O(E \log V)$ $O(E)$ auxiliary? Exact Deterministic Time
Chazelle's algorithm 2000 $O(E*\alpha(E, V))$ $O(E)$ auxiliary?? Exact Deterministic Time
Thorup (reverse-delete) 2000 $O(E \log V (\log \log V)^{3})$ $O(E)$ auxiliary? Exact Deterministic Time
Bader & Cong Parallel Implementation 2006 $O(E \log(V)$/p) $O(V)$ total Exact Parallel Time
Prim's algorithm + binary heap - $O(ElogV)$ $O(V)$ auxiliary? Exact Deterministic
Fredman & Tarjan 1987 $O(E*beta(E, V)$) where beta(m, n) = min(i such that log^(i)(n)≤m/n); this is also $O(E (log-star)$V) $O(E)$ auxiliary? Exact Deterministic Time
Gabow et al, Section 2 1986 $O(E*log(beta(E, V)$)) $O(E)$ auxiliary? Exact Deterministic Time
Pettie, Ramachandran 2002 unknown but optimal $O(E)$ auxiliary? Exact Deterministic Time

Time Complexity Graph

Minimum Spanning Tree (MST) - Undirected, General MST - Time.png