Reduce matrix

Subtract row min from each row. Subtract col min from each col. Zeros identify potential matches.

Advertisement

Alternating trees

Grow trees from unmatched vertices via zero-cost edges. Augment when path found.

Advertisement

Dual variables

Potentials on left + right vertices. Adjust to expose new zeros as needed.

Complexity

Classic Kuhn-Munkres: O(V³). Modern implementations achieve O(V³) crisply.