图论——最短路Dijkstra算法

Dijkstra算法:给定一个源点,求解从源点到每个点的最短路径长度。单源最短路径算法。

适用范围:有向图边的权值没有负数

普通堆实现的Dijkstra算法最普遍、最常用:

a.节点弹出过就忽略

b.节点没弹出过,让其它没弹出 节点距离变小的记录加入堆
普通堆实现的Dijkstra算法,时间复杂度o(m*1ogm),m为边数

1,distancei表示从源点到i点的最短距离,visitedi表示i节点是否从小根堆弹出过

2,准备好小根堆,小根堆存放记录:(x点,源点到x的距离),小根堆根据距离组织

3,令distance源点=0,(源点,0)进入小根堆

4,从小根堆弹出(u点,源点到u的距离)

a.如果visitedu=true,不做任何处理,重复步骤4

b.如果visitedu=false,令visitedu=true,u就算弹出过了

然后考察u的每一条边,假设某边去往v,边权为w

  1. 如果visitedv== false并且distanceu+ w <distancev

令distancev= distanceu + w,把(v,distanceu+ w)加入小根堆

2)处理完u的每一条边之后,重复步骤4

5,小根堆为空过程结束,distance表记录了源点到每个节点的最短距离。

相关推荐
江畔柳前堤20 分钟前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Forever Nore1 小时前
LeetCode 4 寻找两个正序数组的中位数 - 二分
算法·leetcode
罗西的思考3 小时前
【OpenClaw具身硬件】MiniClaw 阅读笔记---(1)基础
人工智能·算法·机器学习
蛋先生DX4 小时前
大模型参数存储格式揭秘:BF不是男朋友
深度学习·算法·llm
爱跳舞的烤冷面4 小时前
自学嵌入式第22天(数据结构——哈希)
数据结构·算法·哈希算法
猎嘤一号5 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
月光船幽幽5 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
马拉AI5 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
地平线开发者7 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者7 小时前
【征程6】校准量化中HistogramObserver解析
算法