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(n^3 m)\) 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
-
Constructor Details
-
MatchingWeightedBlossomV
public MatchingWeightedBlossomV()Create a new minimum weighted matching object.
-