Data structures and algorithms 3: multi-dimensional searching and computational geometry
Data structures and algorithms 3: multi-dimensional searching and computational geometry
An O(EV log V) algorithm for finding a maximal weighted matching in general graphs
SIAM Journal on Computing
Toughness and Delaunay triangulations
Discrete & Computational Geometry
Solving (large scale) matching problems combinatorially
Mathematical Programming: Series A and B
Data structures for weighted matching and nearest common ancestors with linking
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Implementation of algorithms for maximum matching on nonbipartite graphs.
Implementation of algorithms for maximum matching on nonbipartite graphs.
Engineering algorithms for approximate weighted matching
WEA'07 Proceedings of the 6th international conference on Experimental algorithms
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
A multithreaded algorithm for network alignment via approximate matching
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hi-index | 0.00 |
We describe the implementation of an algorithm which solves the weighted matching problem in general graphs with n vertices and m edges in time O(nm log n). Our algorithm is a variant of the algorithm of Galil, Micali and Gabow [Galil et al. 1986] and extensively uses sophisticated data structures, in particular concatenable priority queues, so as to reduce the time needed to perform dual adjustments and to find tight edges in Edmonds' blossom-shrinking algorithm.We compare our implementation to the experimentally fastest implementation, named Blossom IV, due to Cook and Rohe [Cook and Rohe 1997]. Blossom IV requires only very simple data structures and has an asymptotic running time of O(n2m). Our experiments show that our new implementation is superior to Blossom IV. A closer inspection reveals that the running time of Edmonds' blossom-shrinking algorithm in practice heavily depends on the time spent to perform dual adjustments and to find tight edges. Therefore, optimizing these operations, as is done in our implementation, indeed speeds-up the practical performance of implementations of Edmonds' algorithm.