我们有一个包含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。
任何人都可以帮助或验证我?
答案 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个。
是的,假设你有与第一个例子中相同的图形,但边缘的顺序相反。