Kosaraju's strongly connected components algorithm for directed graphs.
Does not manage memory efficiently on large datasets