![](/img/trans.png)
[英]Is there a more efficient way than this way of if statements in python?
[英]Is there a more efficient way to calculate the shortest path problem than networkx in python?
我正在使用 networkx 和 single_source_dijkstra 在加权图上计算从一个源到一个目标的最短路径。
但是,我遇到了内存问题。
有没有更有效的方法来计算这个? Networkx 的替代品? 看我的代码:
cost, shortestpath = nx.single_source_dijkstra(graph, startpointcoords, secondptcoords,cutoff=10000000)
双向 dijkstra 算法应该会产生显着的改进。 这是文档。
一个很好的类比是在 3D 中:在 x 点放置一个气球,然后将其膨胀直到到达 y 点。 您放入的空气量与它们之间距离的立方成正比。 现在在每个点放一个气球,然后给它们充气直到它们接触。 合并的空气体积只有原来的1/4。 在更高的维度(更接近于大多数网络),还有更多的减少。
显然 networkx 的 A* 算法效率更高。 然后我使用我发布的 dijkstra 算法计算结果路径的长度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.