gpt4 book ai didi

python - 如何在 networkx 中高效地生成多个具有随机边权重的随机图

转载 作者:行者123 更新时间:2023-12-05 05:46:04 27 4
gpt4 key购买 nike

我想生成多个具有随机边权重的 Erdos-Renyi 图。但是,我的代码运行起来很慢,因为有两个嵌套循环。我想知道是否有人可以帮助我改进我的代码。

import networkx as nx
import random

#Suppose I generate 1000 different random graphs
for _ in range(1000):
#Let's say I will have 100 nodes and the connection probability is 0.4
G= nx.fast_gnp_random_graph(100,0.4)
#Then, I assign random edge weights.
for (u, v) in G.edges():
G.edges[u,v]['weight'] = random.randint(15,5000)

当我使用 igraphR 中运行类似的代码块时,无论网络大小如何,它都非常快。有哪些替代方法可以让我完成相同的任务而不会遇到执行时间缓慢的问题?

最佳答案

This benchmark显示了许多图形库(来自不同语言)的性能。它确认 NetworkX 非常慢。图形工具 Python 包似乎比 NetworkX 快得多。请注意,给定包的性能取决于您想要实现的目标,因为图形算法的性能非常依赖于所选的内部表示。

关于python - 如何在 networkx 中高效地生成多个具有随机边权重的随机图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71238683/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com