Day 65 || SPFA、判断负权回路、bellman_ford之单源有限最短路

Bellman_ford 队列优化算法(又名SPFA)

题目链接: 卡码网:94. 城市间货物运输 I

思路: 具体参考"代码随想录------Bellman_ford 队列优化算法(又名SPFA)",主要的思想是在Bellman_ford算法中因为要每条边都要松弛(判断是否可以松弛),但是改进队列优化使用了邻接表先查询到当前点邻接的是什么点然后放入队列遍历松弛,节省遍历所有路径判断是否可以松弛这个步骤,节省时间。但是是有弊端的,一方面队列读取存储耗时,另一方面如果路径过多其实理论时间上无限接近于"Bellman_ford "算法

bellman_ford之判断负权回路

题目链接: 卡码网:95. 城市间货物运输 II

思路: 判断是够有负权回路有两种方法,第一种以为我们知道如果没有负权回路的话Bellman_ford原始方法不断松弛即使n次以上minDist也不会变化,因为路径已经是最小的了,但是负权回路会使得minDist不停变小。第二种方法是Bellman_ford 队列优化算法下,已知每个店最多会被加入队列n-1次,但是超过n-1那必然是负权回路。(具体参考"代码随想录------bellman_ford之判断负权回路")。

bellman_ford之单源有限最短路

题目链接: 卡码网:96. 城市间货物运输 III**思路:**k个城市就是松弛k+1次,讲解了录入路径的顺序对之后的遍历也会有影响所以不能完全相信k+1次松弛,所以每次松弛需要保存上一次松弛的结果进行对比。(具体参考"
代码随想录------bellman_ford之单源有限最短路

")

相关推荐
ChillJavaGuy12 小时前
常见限流算法详解与对比
java·算法·限流算法
sali-tec12 小时前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#
你怎么知道我是队长13 小时前
C语言---循环结构
c语言·开发语言·算法
艾醒13 小时前
大模型面试题剖析:RAG中的文本分割策略
人工智能·算法
纪元A梦16 小时前
贪心算法应用:K-Means++初始化详解
算法·贪心算法·kmeans
_不会dp不改名_16 小时前
leetcode_21 合并两个有序链表
算法·leetcode·链表
mark-puls16 小时前
C语言打印爱心
c语言·开发语言·算法
Python技术极客16 小时前
将 Python 应用打包成 exe 软件,仅需一行代码搞定!
算法
睡不醒的kun16 小时前
leetcode算法刷题的第三十四天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
吃着火锅x唱着歌16 小时前
LeetCode 978.最长湍流子数组
数据结构·算法·leetcode