1.算法描述
SPFA(Shortest Path Faster Algorithm)算法是西南交通大学的段凡丁于1994提出,是队列优化版的Bellman-Ford。将源点加入队列;每次从队列出来一个点,对相邻的点,进行松弛操作;被松弛成功且不在队列的点依次进入队列;重复操作,直至队列为空算法结束。
dis[u]表示源点到点u的最短距离;用数组queue[ ]模拟队列,head, rear分别表示队首、队尾,dequeue表示出队的元素;within[u]标记节点u在队列中。
算法流程:
(1)初始化:将queue元素全部置为-1,源点