Purpose: A minimum spanning tree algorithm that is provably optimal — it runs in time , where is the unknown decision-tree complexity of the MST problem. Pettie and Ramachandran (2002).

The strange claim

This is one of the most unusual results in algorithms: the algorithm’s running time is optimal, yet nobody knows what that running time is. We know:

but the exact function is open. The algorithm is optimal relative to itself being the best possible.

How it works

  1. Partition the graph into small subgraphs of size vertices, using Borůvka steps and a soft-heap-based procedure borrowed from Chazelle.
  2. For each tiny subgraph, look up a precomputed optimal decision tree — the theoretically best comparison sequence for a graph of that size. Because is so small, all such decision trees can be found by brute force in total time.
  3. Contract the results and recurse on the much smaller graph.

Step 2 is why the algorithm is optimal: on the small pieces it is the optimal algorithm by construction, and the surrounding machinery contributes only linear overhead.

Complexity

  • Time: , which is between and
  • Space:

Why this is worth knowing

It is a clean example of the “algorithm by table lookup on tiny subproblems” technique — the same four-Russians idea that powers Farach-Colton-Bender RMQ, boolean matrix multiplication, and precomputed-block bitset DP. Once a subproblem is small enough that every possible instance can be enumerated, you get optimality for free on that scale.

It also sharpens what the open problem actually is: not “find a faster MST algorithm” — we already have an optimal one — but “analyse the one we have”.

The MST story so far

YearResultTime
1926Borůvka
1956/57Kruskal, Prim
1975Yao
1984Fredman-Tarjan
1986Gabow et al.
1995Karger-Klein-Tarjan randomized
2000Chazelle deterministic
2002Pettie-Ramachandranoptimal, value unknown

Still open: a deterministic algorithm, and the value of .

Variants / Use Cases