21st Annual Symposium on Foundations of Computer Science (sfcs 1980) (1980)
Syracuse, NY, USA USA
Oct. 13, 1980 to Oct. 15, 1980
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/SFCS.1980.12
In this paper we present an 0(√|V|·|E|) algorithm for finding a maximum matching in general graphs. This algorithm works in 'phases'. In each phase a maximal set of disjoint minimum length augmenting paths is found, and the existing matching is increased along these paths. Our contribution consists in devising a special way of handling blossoms, which enables an O(|E|) implementation of a phase. In each phase, the algorithm grows Breadth First Search trees at all unmatched vertices. When it detects the presence of a blossom, it does not 'shrink' the blossom immediately. Instead, it delays the shrinking in such a way that the first augmenting path found is of minimum length. Furthermore, it achieves the effect of shrinking a blossom by a special labeling procedure which enables it to find an augmenting path through a blossom quickly.
Delay, Labeling, History, Scholarships
S. Micali and V. V. Vazirani, "An O(v|v| c |E|) algoithm for finding maximum matching in general graphs," 21st Annual Symposium on Foundations of Computer Science (sfcs 1980)(SFCS), Syracuse, NY, USA USA, , pp. 17-27.