kosaraju_strongly_connected_components#

kosaraju_strongly_connected_components(G, source=None)[源代码]#

在图的强连接组件中生成节点。

参数
G网络X图表

有向图。

返回
comp集合的生成元

G的每个强连通分支对应一个结点集的生成器。

加薪
NetworkXNotImplemented

如果g是无向的。

笔记

使用Kosaraju的算法。

实例

生成强连接组件的排序列表,首先是最大的。

>>> 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]

如果只需要最大的组件,那么使用max而不是sort会更有效。

>>> largest = max(nx.kosaraju_strongly_connected_components(G), key=len)