Undirected, General MST: Difference between revisions

From Algorithm Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 12: Line 12:
== Parameters ==  
== Parameters ==  


V: number of vertices
$V$: number of vertices


E: number of edges
$E$: number of edges


U: maximum edge weight
$U$: maximum edge weight


== Table of Algorithms ==  
== Table of Algorithms ==  
Line 26: Line 26:
|-
|-


| [[Kruskal’s algorithm with demand-sorting (Undirected, General MST Minimum Spanning Tree (MST))|Kruskal’s algorithm with demand-sorting]] || 1991 || $O(Elog(V)$) || $O(E)$ auxiliary || Exact || Deterministic || [https://link.springer.com/chapter/10.1007/BFb0028279 Time]
| [[Kruskal’s algorithm with demand-sorting (Undirected, General MST Minimum Spanning Tree (MST))|Kruskal’s algorithm with demand-sorting]] || 1991 || $O(E \log V)$ || $O(E)$ || Exact || Deterministic || [https://link.springer.com/chapter/10.1007/BFb0028279 Time]
|-
|-
| [[Quick Kruskal algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Quick Kruskal algorithm]] || 2006 || $O(Elog(V)$) || $O(E)$ auxiliary || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=2791187 Time]
| [[Quick Kruskal algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Quick Kruskal algorithm]] || 2006 || $O(E \log V)$ || $O(E)$ || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=2791187 Time]
|-
|-
| [[Karger; Klein & Tarjan (Undirected, General MST Minimum Spanning Tree (MST))|Karger; Klein & Tarjan]] || 1995 || $O(min(V^{2}, ElogV)$) || $O(E)$ auxiliary || Exact || Randomized || [http://cs.brown.edu/research/pubs/pdfs/1995/Karger-1995-RLT.pdf Time]
| [[Karger; Klein & Tarjan (Undirected, General MST Minimum Spanning Tree (MST))|Karger; Klein & Tarjan]] || 1995 || $O(min(V^{2}, ElogV)$) || $O(E)$ || Exact || Randomized || [http://cs.brown.edu/research/pubs/pdfs/1995/Karger-1995-RLT.pdf Time]
|-
|-
| [[Borůvka's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Borůvka's algorithm]] || 1926 || $O(ElogV)$ || $O(V)$ auxiliary || Exact || Deterministic ||   
| [[Borůvka's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Borůvka's algorithm]] || 1926 || $O(E \log V)$ || $O(V)$ auxiliary || Exact || Deterministic ||   
|-
|-
| [[Prim's algorithm + adjacency matrix searching (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + adjacency matrix searching]] || 1957 || $O(V^{2})$ || $O(V)$ auxiliary || Exact || Deterministic || [https://ieeexplore.ieee.org/document/6773228 Time]
| [[Prim's algorithm + adjacency matrix searching (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + adjacency matrix searching]] || 1957 || $O(V^{2})$ || $O(V)$ auxiliary || Exact || Deterministic || [https://ieeexplore.ieee.org/document/6773228 Time]
|-
|-
| [[Prim's algorithm + Fibonacci heaps; Fredman & Tarjan (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + Fibonacci heaps; Fredman & Tarjan]] || 1987 || $O(E + VlogV)$ || $O(V)$ auxiliary? || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=28874 Time]
| [[Prim's algorithm + Fibonacci heaps; Fredman & Tarjan (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + Fibonacci heaps; Fredman & Tarjan]] || 1987 || $O(E + V \log V)$ || $O(V)$ auxiliary? || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=28874 Time]
|-
|-
| [[Kruskal's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Kruskal's algorithm]] || 1956 || $O(ElogE)$ || $O(E)$ auxiliary || Exact || Deterministic || [https://www.jstor.org/stable/2033241 Time]
| [[Kruskal's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Kruskal's algorithm]] || 1956 || $O(E \log E)$ || $O(E)$ auxiliary || Exact || Deterministic || [https://www.jstor.org/stable/2033241 Time]
|-
|-
| [[Yao's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Yao's algorithm]] || 1975 || $O(EloglogV)$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://www.sciencedirect.com/science/article/pii/0020019075900563 Time]
| [[Yao's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Yao's algorithm]] || 1975 || $O(E \log \log V)$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://www.sciencedirect.com/science/article/pii/0020019075900563 Time]
|-
|-
| [[Cheriton-Tarjan Algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Cheriton-Tarjan Algorithm]] || 1976 || $O(EloglogV)$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://epubs.siam.org/doi/abs/10.1137/0205051 Time]
| [[Cheriton-Tarjan Algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Cheriton-Tarjan Algorithm]] || 1976 || $O(E \log \log V)$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://epubs.siam.org/doi/abs/10.1137/0205051 Time]
|-
|-
| [[Filter Kruskal algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Filter Kruskal algorithm]] || 2009 || $O(Elog(V))$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=2791225 Time]
| [[Filter Kruskal algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Filter Kruskal algorithm]] || 2009 || $O(E \log V)$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://dl.acm.org/citation.cfm?id=2791225 Time]
|-
|-
| [[Chazelle's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Chazelle's algorithm]] || 2000 || $O(E*\alpha(E, V))$ || $O(E)$ auxiliary?? || Exact || Deterministic || [https://www.cs.princeton.edu/~chazelle/pubs/mst.pdf Time]
| [[Chazelle's algorithm (Undirected, General MST Minimum Spanning Tree (MST))|Chazelle's algorithm]] || 2000 || $O(E*\alpha(E, V))$ || $O(E)$ auxiliary?? || Exact || Deterministic || [https://www.cs.princeton.edu/~chazelle/pubs/mst.pdf Time]
|-
|-
| [[Thorup (reverse-delete) (Undirected, General MST Minimum Spanning Tree (MST))|Thorup (reverse-delete)]] || 2000 || $O(E LogV (loglogV)^{3})$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://www.cs.princeton.edu/courses/archive/spr10/cos423/handouts/NearOpt.pdf Time]
| [[Thorup (reverse-delete) (Undirected, General MST Minimum Spanning Tree (MST))|Thorup (reverse-delete)]] || 2000 || $O(E \log V (\log \log V)^{3})$ || $O(E)$ auxiliary? || Exact || Deterministic || [https://www.cs.princeton.edu/courses/archive/spr10/cos423/handouts/NearOpt.pdf Time]
|-
|-
| [[Bader & Cong Parallel Implementation  (Undirected, General MST Minimum Spanning Tree (MST))|Bader & Cong Parallel Implementation ]] || 2006 || $O(E log(V)$/p) || $O(V)$ total || Exact || Parallel || [https://www.sciencedirect.com/science/article/pii/S0743731506001262 Time]
| [[Bader & Cong Parallel Implementation  (Undirected, General MST Minimum Spanning Tree (MST))|Bader & Cong Parallel Implementation ]] || 2006 || $O(E \log(V)$/p) || $O(V)$ total || Exact || Parallel || [https://www.sciencedirect.com/science/article/pii/S0743731506001262 Time]
|-
|-
| [[Prim's algorithm + binary heap (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + binary heap]] || - || $O(ElogV)$ || $O(V)$ auxiliary? || Exact || Deterministic ||   
| [[Prim's algorithm + binary heap (Undirected, General MST Minimum Spanning Tree (MST))|Prim's algorithm + binary heap]] || - || $O(ElogV)$ || $O(V)$ auxiliary? || Exact || Deterministic ||   
Line 62: Line 62:
|}
|}


== Time Complexity graph ==  
== Time Complexity Graph ==  


[[File:Minimum Spanning Tree (MST) - Undirected, General MST - Time.png|1000px]]
[[File:Minimum Spanning Tree (MST) - Undirected, General MST - Time.png|1000px]]
== Space Complexity graph ==
[[File:Minimum Spanning Tree (MST) - Undirected, General MST - Space.png|1000px]]
== Pareto Decades graph ==
[[File:Minimum Spanning Tree (MST) - Undirected, General MST - Pareto Frontier.png|1000px]]


== References/Citation ==  
== References/Citation ==  

Latest revision as of 10:06, 28 April 2023

Description

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

Parameters

$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

References/Citation

https://dl.acm.org/doi/10.1145/505241.505243

https://dl.acm.org/doi/10.1145/505241.505243