Class MatchingWeightedGabow1990Simpler

  • All Implemented Interfaces:
    MatchingAlgo

    public class MatchingWeightedGabow1990Simpler
    extends MatchingAlgoAbstractBasedMaximum
    Edmonds' Blossom algorithm for Maximum weighted matching with Gabow's implementation WITHOUT dynamic LCA data structure.

    This algorithm runs in \(O(m n \log n)\) time and uses linear space. The asymptotically running time is lower than the regular MatchingWeightedGabow1990 implementation, but it runs faster in practice. Instead of using SubtreeMergeFindMin and LowestCommonAncestorDynamic, a simple heap is used to tracker 'blossom' steps.

    Based on the original paper 'Paths, Trees, and Flowers' by Jack Edmonds (1965), later improved by 'An Efficient Implementation of Edmonds Algorithm for Maximum Matching on Graphs' by Harold N. Gabow (1976), and using the efficient dynamic LCA from 'Data Structures for Weighted Matching and Nearest Common Ancestors with Linking' by Harold N. Gabow (1990) resulting in the final running time.

    Author:
    Barak Ugav
    • Constructor Detail

      • MatchingWeightedGabow1990Simpler

        public MatchingWeightedGabow1990Simpler()
        Create a new maximum weighted matching object.