算法系列2之最短路径

一.Dijkstra算法

口算方法

1.核心思路

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

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

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

2.步骤

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

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

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

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

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

二.Dijkstra代码

.h

.c

main.c

相关推荐
caimouse36 分钟前
reactos编码规范
c语言·开发语言
小雨下雨的雨2 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.5 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*5 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
AI thought6 小时前
【转】C语言中 -> 是什么意思?
c语言·位移运算符·右移赋值·无符号整数·算术右移
cfm_29147 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
如竟没有火炬7 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
8Qi87 小时前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术8 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构