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

图论part09dijkstra算法

dijkstra算法:有向图的最短路径及到达问题

该算法可以同时求到所有节点的最短路径

权值不能为负数

类似于pirm算法(针对无向图),dijkstra算法三部曲:

  1. 选源点到哪个未被访问的节点近(prime:哪个未被访问的节点到生成树的距离最近)
  2. 标记最近的点(将距离树最近的节点加入树)
  3. 更新非访问节点到源点的距离(更新minDist数组)

还是要初始化minDist数组用来存距离源点(起点)的最小距离,且初始化int最大值

这里要清楚和最小生成树就不同了,最小生成树里面含有多个节点,一个非树节点可能和树里面的多个节点都相连,mindist存的是距离最近的那一个,比如树里有五个节点,节点6(非树)与树中的节点4、5都相连,距离分别是3和6,mindist取3;而dijkstra算法是存每个未访问节点到起点的最短距离,在mindist里面从起点开始数值应该由近到远累加的,所以说该算法可以求起点到所有节点的距离

Dijkstra堆优化

就是利用小顶堆将第一步优化,在使用邻接表使遍历更高效

小顶堆

http://www.dtcms.com/a/188801.html

相关文章:

  • 【时时三省】(C语言基础)使用字符串处理函数
  • 四旋翼控制入门笔记
  • 国内USB IP商业解决方案新选择:硬件USB Server
  • [中国版 Cursor ]?!CodeBuddy快捷搭建个人展示页面指南
  • 在SQL Server中调整查询超时j解决方案
  • 大模型交叉研讨课笔记-Transformer架构
  • 化工行业专利管理系统:全流程解决方案解析
  • React Native 与 Expo
  • 贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现
  • 按键精灵ios脚本新增元素功能助力辅助工具开发(二)
  • Python爬虫如何应对网站的反爬加密策略?
  • AI工具分享篇 | recraft.ai + figma 复刻技术路线图
  • web 自动化之 PO 设计模式详解
  • 物理:篮球为什么能被拍起来?
  • window 显示驱动开发-创建分配时指定段
  • 实物工厂零件画图案例(上)
  • git merge和git rebase
  • 【Qt】qss语法详解
  • 基于单片机的视力保护仪设计与实现
  • Elecron 相关介绍以及常见的面试问题
  • 18.Excel数据透视表:第1部分创建数据透视表
  • 基于Java的家政服务平台设计与实现(代码+数据库+LW)
  • 分析Docker容器Jvm 堆栈GC信息
  • 【Linux】网络基础2
  • TS类型操作工具汇总
  • switch-case 巧妙使用(case穿透)
  • InfluxDB-数据看板实现流程:从数据采集到可视化展示
  • Spring Boot 自动装配原理详解
  • Cascadeur2025如何无限制导出FBX文件
  • 无偿帮写服务器配置|限时30天|名额100