首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速网络中的随机最小生成树?

加速网络中的随机最小生成树?
EN

Stack Overflow用户
提问于 2018-08-07 09:02:43
回答 1查看 491关注 0票数 1

这里有一些代码,它的目标是使用贪婪和随机的边权来构建一个随机生成树。它跑得比我想的慢得多。有什么方法可以加快速度吗?

随机生成权值和最小生成树的抽样都是缓慢的。第一种情况对我来说特别奇怪,因为只有179400条边,np.random.uniform(0,1,179400)执行得很快。

(这里慢的意思是秒的顺序。)

(我很乐意使用networkx以外的其他东西,但这并不可取。)

代码语言:javascript
复制
import numpy as np
import networkx as nx

graph = nx.grid_graph([300, 300])

for edge in graph.edges():
    graph.edges[edge]["weight"] = np.random.uniform(0, 1)

tree = nx.minimum_spanning_tree(graph)
EN

回答 1

Stack Overflow用户

发布于 2018-08-07 09:15:15

如果在测试中批量生成随机数更快,那么就这样做吧。

代码语言:javascript
复制
rand = np.random.uniform(0, 1, graph.edges.size())
i = 0
for edge in graph.edges():
    graph.edges[edge]["weight"] = rand[i]
    i += 1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51722860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档