Mittwoch, 13. Februar 2013

Johnson's Circuit Finding Algorithm in Java

Johnson's circuit finding algorithm is used to efficiently list all elementary circuits within a directed graph. It is described in the paper "Finding all the elementary circuits in a directed graph". The algorithm relies on Tarjan's algorithm for finding all strongly connected components of a graph.

I have written an implementation of this algorithm in Java under the Apache License. The implementation can be found on github. The implementation relies on the Jung2 graph API. I hope this may be useful to somebody.