Finding All the Elementary Circuits of a Directed Graph

Donald Barton Johnson · SIAM Journal on Computing · 1975

An algorithm is presented which finds all the elementary circuits of a directed graph in time bounded by $O((n + e)(c + 1))$ and space bounded by $O(n + e)$, where there are n vertices, e edges and c elementary circuits in the graph. The algorithm resembles algorithms by Tiernan and Tarjan, but is faster because it considers each edge at most twice between any one circuit and the next in the output sequence.

Read the paper · More papers on PaperTik