美文网首页算法
SPFA 算法详细,(有举例说明,包你懂)

SPFA 算法详细,(有举例说明,包你懂)

作者: hw_zhu | 来源:发表于2017-03-20 20:09 被阅读37次

0: 基本概念

  • ** 松弛操作:更新节点的值 : v_end=min(v_end, v_source +v_side)
    v_end:表示边的终点(需要更新的节点值);
    v_source: 表示 边的源点;
    v_source:表示边的终点
    注:若节点值无变化,则表示
    松弛不成功**
  • 队列 : 先进先出
    image.png

一、用武之地:
  • 给定的图G存在负权边,但不存在负权回路
二、参考此链接

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%;

相关文章

  • SPFA 算法详细,(有举例说明,包你懂)

    0: 基本概念 ** 松弛操作:更新节点的值 : v_end=min(v_end, v_source +v...

  • 算法实现-SPFA

    参考:最短路径问题---SPFA算法详解

  • SPFA算法

    输出

  • 图-2

    spfa算法 spfa的思路异常地顺(可能是因为我之前写错的dijkstra有一点相似),简直就是bfs的翻版。做...

  • 图算法(二)最短路

    本文将介绍三种常见的最短路算法:Dijkstra,Floyd,SPFA Dijkstra Dijkstra是有向图...

  • 数据结构与算法--最短路径之Bellman算法、SPFA算法

    数据结构与算法--最短路径之Bellman算法、SPFA算法 除了Floyd算法,另外一个使用广泛且可以处理负权边...

  • 考研--图论

    1、朴素Dijkstra算法 2、spfa 3、floyd 4、prim最小生成树稠密图, 5、Kruskal最小...

  • 19-图的最短路径

    图的最短路径 迪杰斯特拉算法 贝尔曼-福特算法 弗洛伊德算法 SPFA算法(中国西南交通大学段凡丁发明) 最短路径...

  • ——Bellman-Ford

    初始状态: 模板:1 模板2:FIFO队列优化 Spfa是Bellman-Ford算法利用队列的优化,Bellma...

  • 组会

    SPFA算法,类似于迪杰斯特拉算法,但是会进行边的松弛操作,故而可以处理负权值边,但在稀疏图下效果较好

网友评论

    本文标题:SPFA 算法详细,(有举例说明,包你懂)

    本文链接:https://www.haomeiwen.com/subject/obpinttx.html