connected_components#

connected_components(G)[source]#

生成连通分量。

Parameters:
GNetworkX 图

一个无向图

Returns:
comp集合生成器

一个生成器,每个生成器包含图 G 的一个连通分量的节点集合。

Raises:
NetworkXNotImplemented

如果 G 是有向图。

Notes

仅适用于无向图。

Examples

生成一个按大小排序的连通分量列表,从大到小。

>>> G = nx.path_graph(4)
>>> nx.add_path(G, [10, 11, 12])
>>> [len(c) for c in sorted(nx.connected_components(G), key=len, reverse=True)]
[4, 3]

如果你只需要最大的连通分量,使用 max 比 sort 更高效。

>>> largest_cc = max(nx.connected_components(G), key=len)

要创建每个连通分量的诱导子图,请使用:

>>> S = [G.subgraph(c).copy() for c in nx.connected_components(G)]