为了账号安全,请及时绑定邮箱和手机立即绑定

寻找从所有节点到节点的最短路径的有效算法?

寻找从所有节点到节点的最短路径的有效算法?

有只小跳蛙 2023-02-15 16:06:07
我有兴趣找到从所有点到网络中特定点的最短路径。到目前为止,我一直在通过遍历所有点来计算最短路径来估算这一点。随着网络规模的增加,这种方法的计算成本很高。有有效的替代方案吗?我忽略了 NetworkX 中的任何内容?# Pseudocode For a_node in list_of_nodes:  shortest_path_to_poi = nx.shortest_path(G, source=a_node, target=poi, method='dijkstra')感谢您的时间和考虑。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

Dijkstra 的算法通常是通过查找从源节点到每个其他节点的所有最短路径来实现的 - 参见例如维基百科。在 NetworkX 中,您可以使用nx.single_source_dijkstra

lengths, paths = nx.single_source_dijkstra(G, source=poi)
# paths[v] is the shortest path from poi to the vertex with index v

另请参阅nx 文档中的最短路径参考。


查看完整回答
反对 回复 2023-02-15
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信