Python networkx,如何为每个节点添加 x 条边?

Python networkx, how do I add x amount of edges per node?

我在 python 中有一个使用 networkx 的基本网络图,我想做的是为每个节点添加特定数量的边,而不是自己直接确定边。

import networkx as nx
import matplotlib.pyplot as plt

hosts = 100
nodes = list(range(1,(hosts+1)))

H=nx.Graph()
H.add_nodes_from(nodes)
nx.draw_random(H)

因此,对于此图,我想做的是指定“每个节点两条边”,然后让 python 计算结果。这可能吗?

非常感谢。

你的问题听起来像是图中配置模型的概念,它将return具有给定度数序列的随机图。

请参阅 networkx.generators.degree_seq.configuration_model 文档

例如度数为 [0, 1, 2, 3, 4] 的图:

import networkx as nx
import matplotlib.pyplot as plt

H = nx.configuration_model([i for i in range(5)])

nx.draw_random(H)

注意度数之和必须是偶数。