id summary reporter owner description type status milestone component version severity resolution keywords cc 8433 Algorithm for finding all the elementary circuits in a directed (multi)graph Louis Dionne Jeremiah Willcock "I have implemented the algorithm described in (1) for finding all the elementary circuits of a directed (multi)graph. I implemented it in a generic fashion, planning to propose it for inclusion in Boost. Boost.Graph currently contains the `tiernan_all_cycles` algorithm for finding all the cycles in a graph. However, it is undocumented and it has a time bound (for which no precise analysis is provided) that makes it unsuitable even for moderately sized graphs. In fact, I implemented `hawick_circuits` because `tiernan_all_cycles` did not cut it for my application. My implementation is available at (2). It is licensed under the Boost license and was tested using the test suite at (3). More information on the test suite can be found at (4). Comments on improvements would be appreciated. (1) http://www.massey.ac.nz/~kahawick/cstn/013/cstn-013.pdf (2) https://github.com/ldionne/hawick_circuits (3) https://github.com/josch/cycle_test (4) http://blog.mister-muffin.de/2012/07/04/enumerating-elementary-circuits-of-a-directed_graph/ " Feature Requests reopened To Be Determined graph Boost 1.53.0 Not Applicable graph multigraph circuit cycle hawick