Bellman-Ford SSSP如何“全球”运营?

时间:2015-05-11 18:30:21

标签: algorithm shortest-path kruskals-algorithm bellman-ford

在编程课程中,我学习了Bellman-Ford SSSP和Djikstra的SSSP,我们了解到Bellman-Ford基于Kruskal的最小生成树算法,并且Djikstra基于Prim的最小生成树算法。

我们被告知要记住Djikstra和Prim都在本地操作,因为你根据边缘和已经选择的节点进行比较,这对我来说很有意义。我们还被告知要记住,Bellman-Ford和Kruskal在全球范围内运行,因为无论先前选择的节点如何,您都选择了最小的边缘权重。

对于Kruskal的算法,我可以理解为什么我们可以认为这是全局的,因为你实际上只选择最轻或最小的边缘权重。但对于Bellman-Ford的算法,我只是不明白它是如何被认为是全局的,因为你仍然需要担心以前选择的节点和边缘。贝尔曼 - 福特在Kruskal算法的基础上如何在世界范围内如何运用“全球”运作呢?

1 个答案:

答案 0 :(得分:1)

将Bellman-Ford称为全局似乎是公平的,因为它包含许多(| V | -1)松弛通道,每个松弛通道都涉及迭代所有边缘并将距离估计更新为(可能)每隔一个顶点。

我认为Kruskal和Bellman-Ford之间没有明显的概念联系。事实上,我认为Bellman-Ford与Dijkstra更相似是因为它使用了迭代放松。