MST, Cut Property, and Cycle Property
What This Concept Is
A spanning tree of a connected, undirected graph G = (V, E) is a subgraph that is a tree and touches every vertex. A minimum spanning tree (MST) is a spanning tree of minimum total edge weight.
Two structural theorems govern every MST algorithm:
- Cut property. For any non-trivial cut
(S, V - S), the minimum-weight edge crossing that cut is safe to include in some MST. If edge weights are distinct, that edge is in every MST. - Cycle property. For any cycle
C, the maximum-weight edge inCis safe to exclude from every MST. If weights are distinct, the maximum-weight edge of any cycle is in no MST.
Every MST algorithm is an efficient way to apply one of these two properties many times. Kruskal and Prim pick cut edges; reverse-delete picks cycle edges to drop. Boruvka is historically the first MST algorithm and picks the minimum edge out of each component in parallel; it is the conceptual parent of Kruskal and Prim.
Distinguishing the two classic algorithms:
- Prim vs Kruskal. Both apply the cut property. Prim grows one tree and always cuts "in-tree vs out-of-tree." Kruskal grows a forest and at each step cuts whatever cut the next-lightest edge happens to cross. The difference is data structure (priority queue vs sorted list + union-find), not proof.
Why It Matters Here
Once you have internalized the cut property, Kruskal and Prim stop being "two different algorithms" and become "two different ways to decide which cut to process next":
- Kruskal. Sort edges by weight; repeatedly add the next edge unless it forms a cycle. Each added edge is the minimum crossing the cut that separates its two current components.
- Prim. Grow a single tree from a root; repeatedly add the minimum-weight edge connecting the tree to the rest of the graph. That is exactly the cut between "in-tree" and "out-of-tree."
The cut and cycle properties also justify why arbitrary local choices (min edge on a cut, max edge on a cycle) are globally correct - a nontrivial fact without them. Almost every MST-like problem in downstream modules invokes one of these properties as a lemma.