SPFA的两个(卡时)优化

SPFA算法有两个优化算法 SLF 和 LLL:

SLF:Small Label First 策略,设要加入的节点是j,队首元素为i,若dist(j)<dist(i),则将j插入队首,否则插入队尾。

LLL:Large Label Last 策略,设队首元素为i,队列中所有dist值的平均值为x,若dist(i)>x则将i插入到队尾,查找下一元素,直到找到某一i使得dist(i)<=x,则将i出对进行松弛操作。

SLF 可使速度提高 15 ~ 20%;SLF + LLL 可提高约 50%

在实际的应用中SPFA的算法时间效率不是很稳定,为了避免最坏情况的出现,通常使用效率更加稳定的Dijkstra算法。

转自http://www.cnblogs.com/cj695/archive/2012/07/27/2611215.html

posted on 2017-02-12 20:26  myx12345  阅读(145)  评论(0编辑  收藏  举报

导航