相关疑难解决方法(0)

如果广度优先搜索(BFS)可以更快地做同样的事情,为什么要使用Dijkstra的算法?

两者都可用于从单一来源找到最短路径.BFS运行O(E+V),而Dijkstra运行O((V+E)*log(V)).

另外,我见过Dijkstra在路由协议中使用了很多.

因此,如果BFS可以更快地做同样的事情,为什么要使用Dijkstra的算法呢?

algorithm graph dijkstra breadth-first-search

99
推荐指数
5
解决办法
4万
查看次数

如何使用A*算法找到最好的三条路线

在A*中,通常你获得的结果只有一条路径.根据A*,对于给定的起点和终点是否有可能有3条推荐路径?所以第二个返回的是第二个最佳路径,第三个是第三个最佳路径.

我想的可能是以某种方式修改启发式以反映第二和第三条最佳路径.你们怎么想?

更新: 我的实现是在PHP中,我使用的是封闭集.所以,如果有办法做到这一点,请告诉我.

algorithm a-star shortest-path

5
推荐指数
1
解决办法
1129
查看次数