算法系列2之最短路径

一.Dijkstra算法

口算方法

1.核心思路

激活条件:找未访问节点中的最小值作为下次访问节点

从起点开始,每次选离起点最近的未确定节点,用它去更新邻居的最短路径,直到所有节点确定

都是一组数据,这样展开方便看

2.步骤

引入三大数组(原点到其他节点距离;到该节点前经过哪个节点;是否被访问)

以一个起点为头,往下找跟他邻接的节点并标记

在依次遍历未被访问且路径存在的节点,找到路径最小值

在以该节点出发重复上面操作

最后结束后定义个满递增栈用来辅助遍历路径信息,其中startV的编号设置成-1作为路径结束标志

二.Dijkstra代码

.h

.c

main.c

相关推荐
罗西的思考17 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
CSharp精选营19 小时前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
美团技术团队20 小时前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
用户805533698031 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
To_OC2 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC2 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
卷无止境2 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
_清歌2 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法