Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Blossom Algorithm

Graph Algorithm

The blossom algorithm is a graph theory algorithm for constructing maximum matchings on graphs, developed by Jack Edmonds in 1961 and published in 1965. Given a general graph, the algorithm finds a matching in which each vertex is incident with at most one matched edge and the number of matched edges is maximized, built by iteratively improving an initial empty matching along augmenting paths; unlike bipartite matching, its key new idea is that an odd length cycle in the graph, called a blossom, is contracted to a single vertex, with the search continuing iteratively in the contracted graph. It is considered important because it gave the first proof that a maximum size matching could be found using a polynomial amount of computation time.

Facts
Time Complexity
Time Complexity (category)
Polynomial Time -- O(n^k) 1
Connections

Credited To

Jack Edmonds, Pioneers
Source Blossom (Wikipedia)

In Field

Source Blossom algorithm (Wikipedia)

Invented By

Jack Edmonds, Pioneers
Source Blossom (Wikipedia)
Sources
1. Blossom algorithm (Wikipedia)
  • Lead
    The algorithm runs in time O(|E||V|2), where |E| is the number of edges of the graph and |V| is its number of vertices.
  • In Field: Algorithms and Complexity Theory, Lead sentence
    blossom algorithm is an algorithm for constructing maximum matchings on graphs.
  • In Group: Network Flow and Matching Algorithms, Lead section
    constructing maximum matchings on graphs
View the Source
Blossom (Wikipedia)
  • Credited To: Jack Edmonds, Lead section
    The algorithm was developed by Jack Edmonds in 1961, and published in 1965
  • Invented By: Jack Edmonds, Lead section
    The algorithm was developed by Jack Edmonds in 1961, and published in 1965
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.