Skip to main content
`Ctrl`+`K`

# kosaraju_strongly_connected_components

kosaraju_strongly_connected_components(G, source=None)

  Generate nodes in strongly connected components of graph.

  Parameters:
    G NetworkX Graph

      A directed graph.

  Returns:
    comp generator of sets

      A generator of sets of nodes, one for each strongly connected component of G.

  Raises:
    NetworkXNotImplemented

      If G is undirected.

  See also

  `strongly_connected_components`

  Notes

  Uses Kosaraju’s algorithm.

  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)