m →top: clean up, replaced: Journal of Research National Bureau of Standards Section B → Journal of Research of the National Bureau of Standards Section B using AWB
}}</ref> that a matching ''M'' is maximum if and only if there is no ''M''-augmenting path in ''G''. Hence, either a matching is maximum, or it can be augmented. Thus, starting from an initial matching, we can compute a maximum matching by augmenting the current matching with augmenting paths as long as we can find them, and return whenever no augmenting paths are left. We can formalize the algorithm as follows:
INPUT: Graph ''G'', initial matching ''M'' on ''G''