Randomized $\tilde{O}(M(|V|))$ Algorithms for Problems in Matching Theory
Joseph Cheriyan · SIAM Journal on Computing · 1997
A randomized (Las Vegas) algorithm is given for finding the Gallai--Edmonds decomposition of a graph. Let n denote the number of vertices, and let M(n) denote the number of arithmetic operations for multiplying two n $\times$ n matrices. The sequential running time (i.e., number of bit operations) is within a poly-logarithmic factor of M(n). The parallel complexity is O((log n) 2 ) parallel time using a number of processors within a poly-logarithmic factor of M(n). The same complexity bounds suffice for solving several other problems: finding a minimum vertex cover in a bipartite graphfinding a minimum X ---> Y vertex separator in a directed graph, where X and Y are specified sets of vertices,finding the allowed edges (i.e., edges that occur in some maximum matching) of a graph,finding the canonical partition of the vertex set of an elementary graph. The sequential algorithms for problems (i), (ii), and (iv) are Las Vegas, and the algorithm for problem (iii) is Monte Carlo. The new complexity bounds are significantly better than the best previous ones, e.g., using the best value of M(n) currently known, the new sequential running time is O(n 2.38 ) versus the previous best O(n 2.5 /(log n)) or more.