networkx.algorithms.components.kosaraju_strongly_connected_components¶
-
kosaraju_strongly_connected_components
(G, source=None)[source]¶ Generate nodes in strongly connected components of graph.
- Parameters
G (NetworkX Graph) – A directed graph.
- Returns
comp – A genrator of sets of nodes, one for each strongly connected component of G.
- Return type
generator of sets
- Raises
NetworkXNotImplemented: – If G is undirected.
Examples
Generate a sorted list of strongly connected components, largest first.
>>> G = nx.cycle_graph(4, create_using=nx.DiGraph()) >>> nx.add_cycle(G, [10, 11, 12]) >>> [len(c) for c in sorted(nx.kosaraju_strongly_connected_components(G), ... key=len, reverse=True)] [4, 3]
If you only want the largest component, it’s more efficient to use max instead of sort.
>>> largest = max(nx.kosaraju_strongly_connected_components(G), key=len)
See also
Notes
Uses Kosaraju’s algorithm.