Arrow Research search
Back to FOCS

FOCS 1980

An O(sqrt(|v|) |E|) Algorithm for Finding Maximum Matching in General Graphs

Conference Paper Session I Algorithms and Complexity · Theoretical Computer Science

Abstract

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.

Authors

Keywords

  • Delay
  • Labeling
  • History
  • Scholarships
  • Flowering
  • First Search
  • Tree Search
  • Breadth-first Search
  • Maximum Matching
  • Graph Matching
  • Active Center
  • Root Of The Tree
  • Start Of Phase
  • Incident Edges
  • End Of Level

Context

Venue
IEEE Symposium on Foundations of Computer Science
Archive span
1975-2025
Indexed papers
3809
Paper id
288520391882297087
v2026.09.13