算法系列2之最短路径

一.Dijkstra算法

口算方法

1.核心思路

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

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

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

2.步骤

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

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

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

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

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

二.Dijkstra代码

.h

.c

main.c

相关推荐
读书札记20226 分钟前
C++ switch..case语句中变量跨域问题探讨及解决方法
开发语言·c++
qq_296553278 分钟前
矩阵逆时针旋转90度:三种解法从入门到精通
数据结构·python·算法·面试·矩阵
声声codeGrandMaster11 分钟前
seq2seq概念和数据集处理
人工智能·pytorch·python·算法·ai
努力努力再努力wz13 分钟前
【Redis入门系列】Redis基础命令详解:从客户端连接到数据读写、key 管理与过期机制
c语言·开发语言·数据结构·数据库·c++·redis·缓存
谙弆悕博士16 分钟前
【附C源码】C语言实现散列表
c语言·开发语言·数据结构·算法·散列表·数据结构与算法
Peter·Pan爱编程17 分钟前
输入输出:iostream 为什么不是 printf 的替代品
c++·输入输出·c++基础·iostream
Lucky_ldy18 分钟前
C语言学习:自定义类型-结构体
c语言·开发语言·学习
kkeeper~18 分钟前
0基础C语言积跬步之深入理解指针(5上)
c语言·开发语言·算法
LuminousCPP21 分钟前
数据结构-线性表第一篇
数据结构·经验分享·笔记·顺序表
a11177625 分钟前
边缘设备3DGS-SLAM算法对比实验报告
算法·3d