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

图论part09dijkstra算法

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

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

权值不能为负数

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

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

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

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

Dijkstra堆优化

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

小顶堆

相关文章:

  • 【时时三省】(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 相关介绍以及常见的面试问题
  • 陕西河南山西等地将现“干热风”灾害,小麦产区如何防范?
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火
  • 当代科技拟召开债券持有人会议 ,对“H20科技2”进行四展
  • 三亚通报救护车省外拉警报器开道旅游:违规违法,责令公司停业整顿
  • 广州地铁十一号线赤沙车辆段工程高坠事故调查报告公布:1人重伤且漏报
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式