【发布时间】:2015-10-16 10:03:36
【问题描述】:
在这五种算法中,在无向且只有正边的图上执行的最有效的最短路径算法是什么?
- BFS
- DAG
- 迪克斯特拉
- 弗洛伊德-沃歇尔
- 贝尔曼福特
所以我知道 Dijkstra 不能用于负边,并且运行时间为 O(E * logV),其中 E 是边数,V 是顶点数,所以这是我最好的猜测。这是正确的吗?
【问题讨论】:
-
DAG并不是真正的算法(它是一类图),其余的也有所不同:Dijkstra(原始形式)是单一来源到单一目标,Bellman-Ford是所有顶点的单一来源,Floyd-Warshall 为您提供任意两个顶点之间的最短路径。 -
A*可能是最有效的,如果你能提供一个好的启发式。 -
@piotrekg2 ...这是 Dijkstra 的知情版本。
-
这些是适用于不同问题的相当不同的算法,因此这个问题没有多大意义。您可以尝试编辑您的问题以提供您面临的特定问题。正如目前所写的那样,我投票决定关闭它,因为它太宽泛了。
标签: algorithm graph graph-algorithm shortest-path