Efficient approximation algorithms for shortest cycles in undirected graphs
We describe a simple combinatorial approximation algorithm for finding a shortest (simple) cycle in an undirected graph. Given an adjacency-list representation of an undirected graph G with n vertices and unknown girth k, our algorithm returns with high probability a cycle of length at most 2k for even k and 2k + 2 for odd k, in time O(n(3/2) root log n). Thus, in general, it yields a 2 2/3 approximation. For a weighted, undirected graph, with non-negative edge weights in the range {1,2,...,M}, we present a simple combinatorial 2-approximation algorithm for a minimum weight (simple) cycle that runs in time O(n(2) log n(log n + log M)). (C) 2009 Elsevier B.V. All rights reserved.
approximation algorithm shortest cycle undirected graph graph algorithm time complexity