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

图论part09dijkstra算法

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

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

权值不能为负数

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

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

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

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

Dijkstra堆优化

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

小顶堆

http://www.xdnf.cn/news/5813.html

相关文章:

  • 黑马Java跟学.最新AI+若依框架项目开发(一)
  • ubuntu部署supabase
  • 广告推荐算法入门 day1 --项目选型
  • HDFS的客户端操作
  • 【Ansible】基于windows主机,采用NTLM+HTTPS 认证部署
  • git进行版本控制时遇到Push cannot contain secrets的解决方法
  • Hapi.js知识框架
  • RabbitMQ,Kafka八股(自用笔记)
  • 亚马逊云科技:开启数字化转型的无限可能
  • MapReduce 入门实战:WordCount 程序
  • 2025政企行业智能体研究
  • MinIO WebUI 页面使用
  • 国产化Word处理控件Spire.Doc教程:如何使用 C# 从 Word 中提取图片
  • INTELLECT-2大模型论文速读:通过全局分散强化学习训练的推理模型
  • 小天互连即时通讯:制造行业沟通协作的高效纽带
  • 使用 百度云大模型平台 做 【提示词优化】
  • volatile是什么
  • 启动 spyder ModuleNotFoundError: No module named ‘PyQt5.QtWebKitWidgets‘
  • Spring MessageSource 详解:如何在国际化消息中传递参数
  • 2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
  • Nature图形复现—两种快速绘制热图的方法
  • Mac显卡的工作原理及特殊之处
  • 20、map和set、unordered_map、un_ordered_set的复现
  • el-tree结合checkbox实现数据回显
  • SpringBoot的单体和分布式的任务架构
  • 【DeepSeek】判断两个 PCIe 设备是否属于**同一个 PCIe 子树
  • NPOI 操作 Word 文档
  • 如何避免和恢复因终端关闭导致的 LoRA 微调中断
  • 用 VS Code / PyCharm 编写你的第一个 Python 程序
  • Java鼠标事件监听器MouseListener、MouseMotionListener和MouseWheelListener