其他分享
首页 > 其他分享> > Bellman-Ford+SPFA

Bellman-Ford+SPFA

作者:互联网

Bellman-Ford:

一. 前置知识:

  1. 算法要求图中没有边权和为负的回路。图中的回路是非负的 -> 最短路径一定不会有回路 -> 任意两个点的最短路径最多只包含 $n-1$ 条边
  2. 一条最短路上(假设这条路径是源点- ...-$k$-$i$ 点),“源点-...-k” 这条路径是 点k 的最短路。所以说要想求 $i$ 的最短路,必须先求出 $k$ 的最短路。

二. 算法过程

第 $i$ 回合(1 <= i <= n - 1 ),松弛 $n$ 条边,能确定长度为 $i$ 的最短路径。

为什么是到 $n-1$ 个回合呢?是因为最多只需要确定长度为 $n-1$ 的最短路径(前置知识1.说了,不会有长度 >= n 的最短路径)

 

标签:源点,短路,路径,Bellman,Ford,SPFA,回路
来源: https://www.cnblogs.com/Jiayn/p/16278160.html