相关疑难解决方法(0)

如何使用Networkx创建每个节点至少有1条边的随机图

我已经设法创建了一个随机的无向加权图,用于使用 Dijkstra 算法进行测试,但是我怎样才能做到让每个节点至少有一条边将它们连接到图?

我正在使用 Networkx,我的图形生成器如下:

import networkx as nx
import random

random.seed()
nodes = random.randint(5,10)
seed = random.randint(1,10)
probability = random.random()
G = nx.gnp_random_graph(nodes,probability,seed, False)
for (u, v) in G.edges():
    G.edges[u,v]['weight'] = random.randint(0,10)
Run Code Online (Sandbox Code Playgroud)

这很好地创建了图形,我设法绘制了它,所以我实际上可以看到它,我的问题是边缘创建的概率。我不希望它太高以至于所有节点都具有最大边数,但是设置一个低值可能会导致节点具有 0 个边。有没有办法确保每个节点至少有一条边?

python graph-theory networkx weighted-graph

1
推荐指数
1
解决办法
3249
查看次数

标签 统计

graph-theory ×1

networkx ×1

python ×1

weighted-graph ×1