含有负边的图的最短路径(Bellman_ford算法)
更新所有的边,每条边更新V-1次,时间复杂度为O(V*E).
有些更新操作是重复了的,这里可以考虑检查多余的重复操作作,如果没有更新发生,则立即终止算法。
ps:2011-6-15
1.修改:dist单独列出一个数组存放,不在将dist值存放在图中。
2.输出dist修改过程,发现后续的dist没有发生变化,可以通过一个检查函数来判断,如果dist前后没有发生变化则表明已经找到最短路径
代码实例:
更新所有的边,每条边更新V-1次,时间复杂度为O(V*E).
有些更新操作是重复了的,这里可以考虑检查多余的重复操作作,如果没有更新发生,则立即终止算法。
1.修改:dist单独列出一个数组存放,不在将dist值存放在图中。
2.输出dist修改过程,发现后续的dist没有发生变化,可以通过一个检查函数来判断,如果dist前后没有发生变化则表明已经找到最短路径
代码实例: