BellmanFord为什么只需松弛V-1次
首先s不用松弛,V-=1
然后对于其他的顶点。。每次都至少能完全松弛一个顶点。。
为什么呢。。因为初始d[s]=0,所以和s相邻接的边都将被松弛完全。。无论松弛的顺序
那么对于这个图,无论松弛的顺序都能松弛至少一个点。。
当经过一轮之后,情况就可以规约到产生新的d[x]!=INF的情况,所以我们仍然至少能完全松弛一个点(不能再被松弛)
最短路还有一个性质,那就是不走回头路,不含回路,最短路不会经过同一个点两次,也就是说最多松弛|V|-1条边,我们就能跑完整个算法