Determines the number of connected components in the network.
On directed graphs: detect strongly and weakly connected components.
On undirected graphs: detect only weakly connected components.
This code was implemented by Patrick McSweeney.
Robert Tarjan, Depth-First Search and Linear Graph Algorithms, in SIAM Journal on Computing 1 (2): 146–160 (1972)