Package com.jgalgo.alg.match
Class MatchingWeightedBlossomV
java.lang.Object
com.jgalgo.alg.match.MatchingAlgoAbstract
com.jgalgo.alg.match.MatchingAlgoAbstractBasedMinimum
com.jgalgo.alg.match.MatchingWeightedBlossomV
- All Implemented Interfaces:
MatchingAlgo
Blossom V implementation for maximum weighted matching.
The implementation is based on 'Blossom V: A new implementation of a minimum cost perfect matching algorithm' by
Vladimir Kolmogorov. It is an implementation of Edmonds 'Blossom' algorithm, using priory queues
(ReferenceableHeap
, pairing heaps) to find the next tight edge each iteration. In contrast to
MatchingWeightedGabow1990
, it achieve a worse O(n3m) running time in the worst case, but runs faster in
practice.
The implementation actually computes minimum perfect matching, and assume such perfect matching always exists. Maximum or non-perfect matchings are computed by a reduction to a minimum perfect matching instance.
- Author:
- Barak Ugav
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.jgalgo.alg.match.MatchingAlgo
MatchingAlgo.Builder
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class com.jgalgo.alg.match.MatchingAlgoAbstract
computeMaximumMatching, computeMaximumPerfectMatching, computeMinimumMatching, computeMinimumPerfectMatching