我们有一个包含100个顶点的定向图。 v1 - > v2 - > ... v100和所有边权重等于1.我们想使用bellman-ford来查找从v1到其他顶点的所有最短路径。每个步骤中的该算法以任意顺序检查所有边缘。如果在每个步骤中没有改变到所有其他顶点的最短距离v1,则该算法停止。步数与检查边的顺序有关。这个问题的最小和最大步骤是什么?
解决方案:2和100。
如何实现此解决方案?
答案 0 :(得分:2)
如果边缘类似
,则解为2v1->v2
v1->v3
...
在这种情况下,第一次迭代将找到从源到每条边的距离,第二次迭代将不会改变任何权重,因此算法停止
解决方法是100,如果
v1->v2->v3->...->v100
.i.e。所有都是直线,比我们需要99次迭代来更新到第100个顶点的距离,最后一次迭代不会改变距离。