The classical problem of efficiently listing all the simple cycles in a graph has been studied since the early 70s. For a graph with n vertices and m edges, containing η cycles, the most efficient solution was presented by Johnson SIAM J. Computing, 1975 and takes O((η + 1)(m + n)) time. This solution is not optimal for undirected graphs: nevertheless, no theoretical improvements have been proposed in the past decades. We present the first optimal solution to list all the simple cycles in an undirected graph G. Specifically, let C(G) denote the set of all these cycles (|C(G)| = η). For a cycle c ε C(G), let |c| denote the number of edges in c. Our algorithm requires @@@@ time and is asymptotically optimal: Ω(m) time is necessarily required to read G as input, and @@@@ time is required to list the output. We also present the first optimal solution to list all the simple paths from s to t (shortly, st-paths) in an undirected graph G. Let Pst(G) denote the set of st-paths in G and, for an st-path π ε Pst(G), let |π| be the number of edges in π. Our algorithm lists all the st-paths in G optimally in @@@@ time.
%0 Conference Paper
%1 Birmele2013Optimal
%A Birmelé, Etienne
%A Ferreira, Rui
%A Grossi, Roberto
%A Marino, Andrea
%A Pisanti, Nadia
%A Rizzi, Romeo
%A Sacomoto, Gustavo
%B Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms
%D 2013
%I SIAM
%K cycles, graph-theory algorithms
%P 1884--1896
%T Optimal Listing of Cycles and St-paths in Undirected Graphs
%U http://portal.acm.org/citation.cfm?id=2627951
%X The classical problem of efficiently listing all the simple cycles in a graph has been studied since the early 70s. For a graph with n vertices and m edges, containing η cycles, the most efficient solution was presented by Johnson SIAM J. Computing, 1975 and takes O((η + 1)(m + n)) time. This solution is not optimal for undirected graphs: nevertheless, no theoretical improvements have been proposed in the past decades. We present the first optimal solution to list all the simple cycles in an undirected graph G. Specifically, let C(G) denote the set of all these cycles (|C(G)| = η). For a cycle c ε C(G), let |c| denote the number of edges in c. Our algorithm requires @@@@ time and is asymptotically optimal: Ω(m) time is necessarily required to read G as input, and @@@@ time is required to list the output. We also present the first optimal solution to list all the simple paths from s to t (shortly, st-paths) in an undirected graph G. Let Pst(G) denote the set of st-paths in G and, for an st-path π ε Pst(G), let |π| be the number of edges in π. Our algorithm lists all the st-paths in G optimally in @@@@ time.
%@ 978-1-611972-51-1
@inproceedings{Birmele2013Optimal,
abstract = {{The classical problem of efficiently listing all the simple cycles in a graph has been studied since the early 70s. For a graph with n vertices and m edges, containing η cycles, the most efficient solution was presented by Johnson [SIAM J. Computing, 1975] and takes O((η + 1)(m + n)) time. This solution is not optimal for undirected graphs: nevertheless, no theoretical improvements have been proposed in the past decades. We present the first optimal solution to list all the simple cycles in an undirected graph G. Specifically, let C(G) denote the set of all these cycles (|C(G)| = η). For a cycle c ε C(G), let |c| denote the number of edges in c. Our algorithm requires @@@@ time and is asymptotically optimal: Ω(m) time is necessarily required to read G as input, and @@@@ time is required to list the output. We also present the first optimal solution to list all the simple paths from s to t (shortly, st-paths) in an undirected graph G. Let Pst(G) denote the set of st-paths in G and, for an st-path π ε Pst(G), let |π| be the number of edges in π. Our algorithm lists all the st-paths in G optimally in @@@@ time.}},
added-at = {2019-06-10T14:53:09.000+0200},
author = {Birmel{\'{e}}, Etienne and Ferreira, Rui and Grossi, Roberto and Marino, Andrea and Pisanti, Nadia and Rizzi, Romeo and Sacomoto, Gustavo},
biburl = {https://www.bibsonomy.org/bibtex/222c055387a682edb2a0853b09075b4a1/nonancourt},
booktitle = {Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms},
citeulike-article-id = {13801409},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=2627951},
interhash = {2c289bfb302616489877a7cfefe16539},
intrahash = {22c055387a682edb2a0853b09075b4a1},
isbn = {978-1-611972-51-1},
keywords = {cycles, graph-theory algorithms},
location = {New Orleans, Louisiana},
pages = {1884--1896},
posted-at = {2015-10-13 14:46:26},
priority = {2},
publisher = {SIAM},
series = {SODA '13},
timestamp = {2019-07-31T12:32:46.000+0200},
title = {{Optimal Listing of Cycles and St-paths in Undirected Graphs}},
url = {http://portal.acm.org/citation.cfm?id=2627951},
year = 2013
}