kosaraju_strongly_connected_components#
- kosaraju_strongly_connected_components(G, source=None)[source]#
生成图中强连通分量中的节点。
- 参数:
- GNetworkX 图
一个有向图。
- 返回:
- 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函数比排序更高效。
>>> largest = max(nx.kosaraju_strongly_connected_components(G), key=len)