当前位置: 首页 > news >正文

图论part10 bellman_ford算法

  1. bellman_ford算法:对所有边进行松弛N-1次操作,求得目标最短路

卡码网94:寻找从节点1到节点n的最短路径并计算路径总权值,输出权值;不存在路径输出unconnected

  1. 松弛

状态一: minDist[A] + value 可以推出 minDist[B]

状态二: minDist[B]本身就有权值 (可能是其他边链接的节点B 例如节点C,以至于 minDist[B]记录了其他边到minDist[B]的权值)

对状态一二进行选择得过程就叫松弛

       if (minDist[B] > minDist[A] + value) minDist[B] = minDist[A] + value

  1. 为什么松弛n-1次?

只要知道松弛一次得到的是到达和起点一条边相连得节点最短距离

到达节点n的最短距离就能通过松弛n-1次得到,同时还能得到到所有节点的最短距离

  1. 不能未计算过路径的节点出发

  1. SFPA算法

适用队列优化bellman_ford,简单来记就是邻接表存图(维护边),BFS,并使用标记数组对目标节点进行标记,但是需要有取消标记的操作

  1. 判断负权回路,由该系列算法可知我们通过n-1次松弛可以得到从起点到任意一点的最少开销,如果存在负权回路,再继续松弛,就是沿着该回路绕圈,会使开销越来越小。判断方法就是松弛n-1次后在松弛一次看minDist数组有没有变化

相关文章:

  • MCP:开启AI的“万物互联”时代
  • Linux干货(三)
  • whonix系统详解
  • 【DRAM存储器五十一】LPDDR5介绍--CK、WCK、RDQS单端模式、Thermal Offset、Temperature Sensor
  • 系统单元测试和项目打包
  • 传统LED拼接屏过时了吗?无缝技术如何改写展厅视觉呈现规则?
  • LVDS系列12:Xilinx Ultrascale系可编程输入延迟(二)
  • React系列——nvm、node、npm、yarn(MAC)
  • ESP系列单片机选择指南:结合实际场景的最优选择方案
  • 【Elasticsearch】DSL 篇
  • Oracle日期计算跟Mysql计算日期差距问题-导致两边计算不一致
  • 3天云南旅游规划
  • Java多线程售票系统实现与异常处理详解
  • 高级消防设施操作员证用途有哪些
  • Linux proc文件系统 内存影射
  • AMS3xxi激光测距仪安装调试维护详解
  • 第二章日志分析-apache日志分析
  • 第5章 运算符、表达式和语句
  • “堆”和“栈”
  • KUKA机器人中断编程3—暂停功能的编程
  • 欠债七十万后,一个乡镇驿站站长的中年心事
  • 美国与卡塔尔签署超2435亿美元经济及军事合作协议
  • 首映|奥斯卡最佳国际影片《我仍在此》即将公映
  • 沈阳卫健委通报“健康证”办理乱象:涉事医院已被立案查处
  • 支持企业增强战略敏捷更好发展,上海市领导密集走访外贸外资企业
  • 2025年上海科技节5月17日启动,56家重点实验室和大科学设施将向公众开放