A shortest cycle for each vertex of a graph

Research output: Contribution to journalArticlepeer-review


We present an algorithm that finds, for each vertex of an undirected graph, a shortest cycle containing it. While for directed graphs this problem reduces to the All-Pairs Shortest Paths problem, this is not known to be the case for undirected graphs. We present a truly sub-cubic randomized algorithm for the undirected case. Given an undirected graph with n vertices and integer weights in 1,...,M, it runs in Õ(Mn(ω+3)/2) time where ω<2.376 is the exponent of matrix multiplication. As a by-product, our algorithm can be used to determine which vertices lie on cycles of length at most t in Õ(Mt) time. For the case of bounded real edge weights, a variant of our algorithm solves the problem up to an additive error of ∈ in Õ(n(ω+6)/3) time.

Original languageEnglish
Pages (from-to)1057-1061
Number of pages5
JournalInformation Processing Letters
Issue number21-22
StatePublished - 15 Dec 2011


  • Girth
  • Graph algorithms
  • Shortest path
  • Undirected graph

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Signal Processing
  • Information Systems
  • Computer Science Applications


Dive into the research topics of 'A shortest cycle for each vertex of a graph'. Together they form a unique fingerprint.

Cite this