Bellman-Ford最短路径算法的性能

时间:2009-06-15 16:40:04

标签: performance algorithm shortest-path

我使用队列实现了Bellman-Ford算法的解决方案,并将其性能与Dijkstra算法进行了比较。他们非常接近,这对我来说是一个惊喜,因为贝尔曼 - 福特的复杂性是O(NM)。我知道复杂性是最坏的情况,但结果仍然令人惊讶。我搜索了有关Bellman - Ford的一些信息,我在Sedgewick中发现了这个声明,Java中的算法“在实际网络中,Bellman-Ford算法通常在线性时间内运行”。 你能给我一个Bellman - Ford算法性能行为的解释吗?

1 个答案:

答案 0 :(得分:5)

这是一篇关于它的文章非常简单(PDF Link)。

  

Bellman-Ford的复杂性   算法取决于数量   边缘考试,或放松电话。   (注意这与...不同   放松步骤,指的是   实际的变化。)   如上所述,放松的次数   调用可以小于| V || E |同   BGL实现。事实上,它是   远小于| V || E |在里面   平均情况。

它列出了伪代码和进一步的分析。