python - all_pairs_dijkstra 是否比多个 dijkstra_path 快?
问题描述
只是 all_pairs_dijkstra
一个dijkstra_path
带有for循环的,还是所有最短路径路由都在all_pairs_dijkstra
?
在 for 循环中做一个all_pairs_dijkstra
或多个更快吗?dijkstra_path
解决方案
虽然我不能具体说明 networkx 是如何实现这个功能的,但是使用 Dijkstra 算法来解决所有对最短路径问题只是意味着从图中的每个节点开始运行 Dijkstra 算法的一个副本来计算成对距离。
在决定是for
围绕单个调用使用循环还是使用该all_pairs_dijkstra
函数时,我建议您使用all_pairs_dijkstra
,除非您有令人信服的理由不这样做,因为该函数明确传达了您的意图。另外,如果在幕后进行了任何优化,您将能够利用它们。
但特别是对于networkx,有什么理由不只使用更简单的all_shortest_paths
功能吗?我想这更简单,除非你有特定的理由使用all_pairs_dijkstra
.
推荐阅读
- r - 当我尝试解析数据框中的 JSON 列时,我在 R 中不断收到错误
- html - 针对不同分辨率缩放页面
- ios - 为什么当 dequeueReusableCellWithIdentifier 发生时单元格中的 init 方法不会被调用
- c# - 远程服务器返回错误 (404) 未找到。在 system.net.httpwebrequest.getresponse()
- symfony - Symfony + Forms,by_reference = true 和 CollectionType 字段中的 allow_add
- mysql - MySQL Workbench 中的 For 循环
- python - 通过 buildozer 将 py 文件编译为 apk 时出现问题
- django - 通过 Django 发送电子邮件时出现 SSL 错误
- python - 将字节转换为二进制字符串的简单方法是什么?
- c# - 如果 C# 项目具有 .Netframework 依赖项,是否可以将其构建为 .Netcore 应用程序