算法系列2之最短路径

一.Dijkstra算法

口算方法

1.核心思路

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

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

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

2.步骤

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

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

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

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

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

二.Dijkstra代码

.h

.c

main.c

相关推荐
小璐资源网20 小时前
C++中如何正确区分`=`和`==`的使用场景?
java·c++·算法
卢锡荣21 小时前
LDR6021Q 车规级 Type‑C PD 控制芯片:一芯赋能,边充边传,稳驭全场景
c语言·开发语言·ios·计算机外设·电脑
N1_WEB21 小时前
HDU:杭电 2018 复试真题汇总
算法
AMoon丶21 小时前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
We་ct21 小时前
LeetCode 79. 单词搜索:DFS回溯解法详解
前端·算法·leetcode·typescript·深度优先·个人开发·回溯
眼眸流转21 小时前
LeetCode热题100(四)
算法·leetcode·职场和发展
相信神话202121 小时前
第零章:新手的第一课:正确认知游戏开发
大数据·数据库·算法·2d游戏编程·godot4·2d游戏开发
汀沿河1 天前
2 模型预训练、微调、强化学习的格式
人工智能·算法·机器学习
码不停蹄Zzz1 天前
C语言【结构体值传递问题】
c语言·开发语言
AMoon丶1 天前
Golang--多种数据结构详解
linux·c语言·开发语言·数据结构·c++·后端·golang