Blossom algorithm (source code)

= Blossom algorithm
{wiki=Blossom_algorithm}

The Blossom algorithm, developed by Edmonds in the 1960s, is a combinatorial algorithm used for finding maximum matchings in general graphs. A matching in a graph is a set of edges without common vertices, and a maximum matching is a matching that contains the largest possible number of edges. The algorithm is particularly notable for its ability to handle graphs that may contain odd-length cycles, which makes it more versatile than previous algorithms restricted to specific types of graphs (like bipartite graphs).