Gabow's $O(\sqrt{n}m)$ Maximum Cardinality Matching Algorithm, Revisited
Abstract
We revisit Gabow's maximum cardinality matching algorithm (The Weighted Matching Approach to Maximum Cardinality Matching, Fundamenta Informaticae, 2017). It adapts the weighted matching algorithm of Gabow and Tarjan~\cite{GT91} to maximum cardinality matching. Gabow's algorithm works iteratively. In each iteration, it constructs a maximal number of edge-disjoint shortest augmenting paths with respect to the current matching and augments them. It is well-known that iterations suffice. Each iteration consists of three parts. In the first part, the length of the shortest augmenting path is computed. In the second part, an auxiliary graph is constructed with the property that shortest augmenting paths in correspond to augmenting paths in . In the third part, a maximal set of edge-disjoint augmenting paths in is determined, and the paths are lifted to and augmented to . We give a new algorithm for the first part. Gabow's algorithm for the first part is derived from Edmonds' primal-dual algorithm for weighted matching. We believe that our approach is more direct and will be easier to teach. We have implemented the algorithm; the implementation is available at the companion webpage (https://people.mpi-inf.mpg.de/~mehlhorn/CompanionPageGenMatchingImplementation.html).
Cite
@article{arxiv.2603.22909,
title = {Gabow's $O(\sqrt{n}m)$ Maximum Cardinality Matching Algorithm, Revisited},
author = {Kurt Mehlhorn and Romina Nobahari},
journal= {arXiv preprint arXiv:2603.22909},
year = {2026}
}