SPFA最短路算法

 

SPFA是改良后的BellmanFord(在刘汝佳的入门经典2上,甚至直接将SPFA归为BellmanFord的队列优化版本)。

这是算法的伪代码

d[s] = 0, 其余d[?] = INF;
将s入队,并做标记;
do{
    取队首u。
    for each (u, v){
        如果d[v] > d[u] + dist(u→v)
            d[v] = d[u] + dist(u→v)
            如果v不在队里
                v入队
    }
}until 队列为空

  

posted @ 2016-08-28 16:40  张瑯小强  阅读(272)  评论(0编辑  收藏  举报