add algorithm for determining strongly connected components of a graph