In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of an arbitrary directed graph form a partition into subgraphs that are theselves strongly connected. In computer science, Kosaraju's algorithm, also known as the Kosaraju-Sharir algorithm, is a linear time algorith to find the strongly connected components of a directed graph.
