NetworkX 连通子图规模计算 - Python 代码示例
NetworkX 是一个用于创建、操作和研究复杂网络的 Python 库。在 NetworkX 中,可以使用 connected_components() 函数来获取图中的所有连通子图。每个连通子图都是一个 set 对象,其中包含图中的节点。可以使用 len() 函数获取连通子图的规模,即节点的数量。以下是一个示例代码:
import networkx as nx
# 创建一个有向图
G = nx.DiGraph()
# 添加节点
G.add_nodes_from([1, 2, 3, 4, 5, 6])
# 添加边
G.add_edges_from([(1, 2), (2, 3), (3, 1), (4, 5), (5, 6)])
# 获取连通子图
subgraphs = list(nx.connected_components(G.to_undirected()))
# 输出每个连通子图的规模
for subgraph in subgraphs:
print('连通子图规模:', len(subgraph))
输出结果为:
连通子图规模: 3
连通子图规模: 3
以上代码中,我们创建了一个有向图 G,其中包含 6 个节点和 5 条边。然后,我们使用 connected_components() 函数获取图中的连通子图,并打印出每个连通子图的规模。在这个例子中,图 G 有两个连通子图,每个连通子图的规模都是 3。
原文地址: https://www.cveoy.top/t/topic/o2eU 著作权归作者所有。请勿转载和采集!