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

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

”)


http://www.kler.cn/a/396308.html

相关文章:

  • AlphaFold3中文使用说明
  • 哈佛商业评论 | 未来商业的技术趋势:百度李彦宏谈技术如何变革商业
  • Tiktok对接和内容发布申请流程
  • CondaError: Run ‘conda init‘ before ‘conda activate‘解决办法
  • 帽子矩阵--记录
  • 如何在Debian系统里使用Redhat(CentOS)的方式配置网络
  • 【leetcode】N皇后 回溯法c++
  • 一文说清libc、glibc、glib的发展和关系
  • 《JavaScript 前端开发》
  • python学习_2.去除字符strip方法
  • CC3学习记录
  • H5页面多个视频如何只同时播放一个?
  • 【idea】更换快捷键
  • 51c大模型~合集42
  • ComfyUI-image2video模型部署教程
  • 第三代指标平台和其他BI工具/指标管理平台有何区别
  • 【Linux学习】【Ubuntu入门】1-4 ubuntu终端操作与shell命令2
  • 聊天服务器(7)数据模块
  • 29-Elasticsearch 集群监控
  • i春秋-SQLi(无逗号sql注入,-- -注释)
  • Android Binder通信02 - 驱动分析 - 架构介绍
  • Python读写Excel的全面教程
  • Rust 入门指南(零):安装及 Cargo 管理器
  • 用EXCEL一列数据拼接SQL的where条件in语句
  • wordpress下载站主题推荐riproV5 wordpress日主题
  • python makedirs() 详解