我了解到 Bellman-Ford 算法的运行时间为 O(|E|*|V|),其中 E 是边数,V 是顶点数。假设该图没有任何负加权循环。
我的第一个问题是,我们如何证明在 (|V|-1) 次迭代中(每次迭代检查 E 中的每条边),在给定特定起始节点的情况下,它会更新到每个可能节点的最短路径?有没有可能我们已经迭代了 (|V|-1) 次,但仍然没有得到到每个节点的最短路径?
假设算法的正确性,我们实际上可以做得更好吗?在我看来,并非所有边在特定图中都具有负权重。Bellman-Ford 算法似乎很昂贵,因为每次迭代都要经过每个边缘。