微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我在 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)

enter image description here

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

非常感谢。

解决方法

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

请参阅 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)

注意度数之和必须是偶数。 Configuration model with degree from 0 to 4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。