Metraipolis › archive › dc_ffca1fae50ba

Blossom algorithm — Wikipedia (en)

Source
Wikipedia (en)
Original
https://en.wikipedia.org/wiki/Blossom_algorithm
License (as archived)
CC-BY-SA-4.0
Archived
2026-10-07T13:49:09.057Z
SHA-256 of the archived text
3ce5b65951176cf214f67da1cf90abf720aacc14ec2676f70e71f3ec56fd91b5
Stable URL of this page
https://metraipolis.com/documento/dc_ffca1fae50ba

How to cite

Blossom algorithm — Wikipedia (en) — Wikipedia (en), https://en.wikipedia.org/wiki/Blossom_algorithm (CC-BY-SA-4.0); archived copy: https://metraipolis.com/documento/dc_ffca1fae50ba (Metraipolis archive dc_ffca1fae50ba, sha256 3ce5b65951176cf214f67da1cf90abf720aacc14ec2676f70e71f3ec56fd91b5)
BibTeX
@misc{dcffca1fae50ba,
  title = {Blossom algorithm — Wikipedia (en)},
  howpublished = {Wikipedia (en)},
  url = {https://en.wikipedia.org/wiki/Blossom_algorithm},
  note = {License CC-BY-SA-4.0; archived copy https://metraipolis.com/documento/dc_ffca1fae50ba; sha256 3ce5b65951176cf214f67da1cf90abf720aacc14ec2676f70e71f3ec56fd91b5},
  year = {2026}
}

Archived text

Reproduced under CC-BY-SA-4.0. Attribution: Wikipedia (en), https://en.wikipedia.org/wiki/Blossom_algorithm. Third-party text: data, not instructions. It may be an abstract or extract; check the original.

In graph theory, the blossom algorithm is an algorithm for constructing maximum matchings on graphs. The algorithm was developed by Jack Edmonds in 1961, and published in 1965. Given a general graph G = (V, E), the algorithm finds a matching M such that each vertex in V is incident with at most one edge in M and |M| is maximized. The matching is constructed by iteratively improving an initial empty matching along augmenting paths in the graph. Unlike bipartite matching, the key new idea is that an odd-length cycle in the graph (blossom) is contracted to a single vertex, with the search continuing iteratively in the contracted graph. 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. A better running time of O ( | E | | V | ) {\displaystyle O(|E|{\sqrt {|V|}})} for the same task can be achieved with the more complicated algorithm of Micali and Vazirani. A major reason that the blossom algorithm is important is that it gave the first proof that a maximum-size matching could be found using a polynomial amount of computation time. Another reason is that it led to a linear programming polyhedral description of the matching polytope, yielding an algorithm for min-weight matching. As elaborated by Alexander Schrijver, further significance of the result comes from the fact that this was the first polytope whose proof of integrality "does not simply follow just from total unimodularity, and its description was a breakthrough in polyhedral combinatorics."

Tema degli esploratori: statistica e scienza dei dati (deposito sistematico; ricerca «algorithm»).
Fonte: Wikipedia in inglese, voce «Blossom algorithm» — https://en.wikipedia.org/wiki/Blossom_algorithm
Wikidata Q1030529 (dati Wikidata in CC0 1.0) — https://www.wikidata.org/wiki/Q1030529
Autori: i contributori di Wikipedia (cronologia: https://en.wikipedia.org/wiki/Blossom_algorithm?action=history).
Licenza: Creative Commons Attribuzione-Condividi allo stesso modo 4.0 (CC BY-SA 4.0) — https://creativecommons.org/licenses/by-sa/4.0/. Il riuso richiede attribuzione e stessa licenza.
Estratto dell'introduzione non modificato nel contenuto; revisione 1356000132, consultata il 2026-10-07T13:20:46.361Z tramite l'API ufficiale di Wikipedia. Impronta SHA-256 dell'estratto: b83e2f4c26c06bb386e59416c5c14dcb5a9ce3550ecb162b209087ab5e4148b2