research

Minimum Cycle Basis and All-Pairs Min Cut of a Planar Graph in Subquadratic Time

Abstract

A minimum cycle basis of a weighted undirected graph GG is a basis of the cycle space of GG such that the total weight of the cycles in this basis is minimized. If GG is a planar graph with non-negative edge weights, such a basis can be found in O(n2)O(n^2) time and space, where nn is the size of GG. We show that this is optimal if an explicit representation of the basis is required. We then present an O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithm that computes a minimum cycle basis \emph{implicitly}. From this result, we obtain an output-sensitive algorithm that explicitly computes a minimum cycle basis in O(n3/2logn+C)O(n^{3/2}\log n + C) time and O(n3/2+C)O(n^{3/2} + C) space, where CC is the total size (number of edges and vertices) of the cycles in the basis. These bounds reduce to O(n3/2logn)O(n^{3/2}\log n) and O(n3/2)O(n^{3/2}), respectively, when GG is unweighted. We get similar results for the all-pairs min cut problem since it is dual equivalent to the minimum cycle basis problem for planar graphs. We also obtain O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithms for finding, respectively, the weight vector and a Gomory-Hu tree of GG. The previous best time and space bound for these two problems was quadratic. From our Gomory-Hu tree algorithm, we obtain the following result: with O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space for preprocessing, the weight of a min cut between any two given vertices of GG can be reported in constant time. Previously, such an oracle required quadratic time and space for preprocessing. The oracle can also be extended to report the actual cut in time proportional to its size

    Similar works