贝尔曼福特算法的旧考试,需要一个indea?

时间:2016-07-11 07:51:42

标签: algorithm data-structures tree shortest-path bellman-ford

我们有一个包含100个顶点的定向图。 v1 - > v2 - > ... v100和所有边权重等于1.我们想使用bellman-ford来查找从v1到其他顶点的所有最短路径。每个步骤中的该算法以任意顺序检查所有边缘。如果在每个步骤中没有改变到所有其他顶点的最短距离v1,则该算法停止。步数与检查边的顺序有关。这个问题的最小和最大步骤是什么?

解决方案:2和100。

我想:

如果我们有这个图:v1-> v2-> v3-> ...-> v100我们需要2.如果我们有V1-> v2,V1-> V3,V1-> ; V4,......我们需要100.如果我们有v99v100,v98v99,...,v3v2,v2v1,我们需要再次使用100。

任何人都可以帮助或验证我?

1 个答案:

答案 0 :(得分:0)

  

v1-> v2-> v3-> ...-> v100我们需要2

是的,假设您按顺序获得边缘(v1-> v2,v2-> v3,v3-> v4 ......)。

  

V1-> v2,V1-> V3,V1-> V4 ......我们需要100个。

错误,因为所有距离都是1(从起始节点到所有其他距离都有直接边缘),然后在边缘上的一次通过中,您将获得正确的结果(无论边缘的顺序如何) ,以及第二次停止。

  

v99v100,v98v99,...,v3v2,v2v1我们需要100个。

是的,假设你有与第一个例子中相同的图形,但边缘的顺序相反。