DAG中的所有最短路径(有向无环图)

时间:2012-08-14 06:18:54

标签: shortest-path directed-acyclic-graphs floyd-warshall

我有一个加权DAG,有一些负边缘权重,并希望在其中找到所有最短路径。是否存在复杂度优于O(n ^ 2)的算法。 (我的图表是完整的,即对于{1..n}和i

由于

2 个答案:

答案 0 :(得分:1)

嗯,一种流行的路径查找算法是A *。但您可以查看此文章以获取更多信息:

Go to Article

干杯

答案 1 :(得分:1)

您正在寻找的算法是Floyd-Warshall,它在O(n 3 )中运行。

有时你可以通过在每个节点上运行Djikstra来做得更好。使用fibbonacci heap,可以得到O(n 2 log n + ne),其中e =边数。这是even possible使用负边缘权重!

然而,fibbonacci堆具有较大的常数,因此在实践中,这种方法对于非常稀疏的图只会更快。既然你说你的图表已经完成,Floyd-Warshall是你最好的选择。