概述
Bellman-Ford解决连通图中各点至目标点的最短路径问题。其主要思想为通过单跳抵达目标点的距离;经过两跳抵达目标点的距离;经过三跳抵达目标点的距离。。。以此类推并取其中最小值。若有n个节点,则最多有n-1跳。
实现上,则是对每条边连接的目标点进行如下处理:
d[to] = min(d[from] + edge.weight, d[to]);
该处理最多进行n-1轮即可得到最终结果,若在此之前所有点的距离均无变化亦可提前结束循环,若在n-1轮之后距离仍在变化,则说明连通图中出现了负环。