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之单源有限最短路

")

相关推荐
豐儀麟阁贵2 分钟前
9.3获取字符串信息
java·开发语言·前端·算法
程序员-King.17 分钟前
day110—同向双指针(数组)—最多K个重复元素的最长子数组(LeetCode-2958)
算法·leetcode·双指针
做怪小疯子25 分钟前
LeetCode 热题 100——二叉树——二叉树的右视图
算法·leetcode·职场和发展
Swift社区28 分钟前
LeetCode 442 - 数组中重复的数据
算法·leetcode·职场和发展
努力学算法的蒟蒻30 分钟前
day25(12.5)——leetcode面试经典150
算法·leetcode·职场和发展
xlq2232232 分钟前
23.二叉树搜索树(下)
数据结构·c++·算法
lzh200409191 小时前
【数据结构】二叉搜索树
数据结构·算法
c#上位机1 小时前
halcon图像膨胀—dilation1
图像处理·算法·c#·halcon
RickyWasYoung1 小时前
【聚类算法】高维数据的聚类
算法·数据挖掘·聚类
古月居GYH1 小时前
数据结构算法——排序算法解析
数据结构·算法·排序算法