Bellman-Ford算法的短前阵列

时间:2019-11-10 17:21:44

标签: bellman-ford

对Bellman-Ford的此算法稍有更改: 在第7行中,我们放置from selenium import webdriver import pyautogui driver = webdriver.Chrome() driver.get("https://www.google.com/en") driver.find_element_by_name("q").send_keys("Dubai to singapore by walking") pyautogui.keyDown('enter') 而不是不等号,因此它变为: d [v]> = d [u] + w(u,v)

Bellman-Ford

现在我知道一个事实,它不会更改distances数组,并且会给我正确的答案。 但是它将如何影响第9行的我的前身阵列?它还会给出正确答案吗?

1 个答案:

答案 0 :(得分:0)

如果您有非正边缘,则它可能不是树,例如下图并从n1开始。

sample counter example graph

第一遍:

  • 通过访问e1:d[n2] = d[n1] + w[e1] = 1p[n2] = n1
  • 通过访问e2:d[n3] = d[n2] + w[e2] = 1p[n3] = n2
  • 访问e3:d[n4] = d[n3] + w[e3] = 1p[n4] = n3
  • 访问e4:d[n2] = d[n4] + w[e4] = 1p[n2] = n4

,并在所有剩余的通道中重复此操作。因此,如果最后遍历前任(例如n2),您将得到:n2 <- n4 <- n3 <- n2 <- n4 <- ...

但是我认为,如果您没有非负边缘,那就可以了。