小智 0
基本上,我认为您不能只考虑某些节点,因为子图中的最短路径可能不是全局最短的。所以你必须考虑所有的节点。
也许你可以像这样实现 Dijkstra 算法:在每次迭代中设置一个检查子例程。如果所有需要的节点都已固定(已找到最小路径),则终止算法。这将为其余节点节省时间。
为了提高效率,如果没有负边长度,我建议使用 n 次 Dijkstra 算法。如果有,请使用约翰逊算法,该算法提供特殊的重新加权技术,将负边长度转换为非负边长度。
也许您只是需要更快的服务器。
希望有帮助。
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |