Kosaraju Sharir SCC Algorithm

In the mathematical theory of directed graphs, a graph is say to be strongly connected if every vertex is reachable from every other vertex. It is possible to test the strong connectivity of a graph, or to find its strongly connected components, in linear time (that is, Θ(V+E)).

Kosaraju Sharir SCC source code, pseudocode and analysis