算法系列2之最短路径

一.Dijkstra算法

口算方法

1.核心思路

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

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

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

2.步骤

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

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

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

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

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

二.Dijkstra代码

.h

.c

main.c

相关推荐
Howrun77710 分钟前
C++ 项目测试全指南:从 0 基础到落地实操
开发语言·c++·log4j
YYYing.11 分钟前
【Linux/C++网络篇(二) 】TCP并发服务器演进史:从多进程到Epoll的进化指南
linux·服务器·网络·c++·tcp/ip
追光的蜗牛丿11 分钟前
C++传递参数时什么情况下传递引用
开发语言·javascript·c++
sheng420415 分钟前
小记近期C++遇到的坑
c++
人间寥寥情难诉16 分钟前
LRU算法本地实现
java·算法·spring
wregjru16 分钟前
【高并发服务器项目】1.服务器接入层代码详解
c++
森G16 分钟前
41、数据库---------事件系统
c++·qt
moonsea020318 分钟前
2026.4.2
开发语言·c++·算法
cpp_250125 分钟前
P10376 [GESP202403 六级] 游戏
c++·算法·动态规划·题解·洛谷·gesp六级
智者知已应修善业27 分钟前
【51单片机4个IO实现16按键可扩展独立按键64矩阵驱动显示矩阵原值】2023-5-8
c++·经验分享·笔记·算法·51单片机