算法竞赛备赛——【图论】求最短路径——小结

最短路算法

1.Floyd算法:O(|V|^3),多源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。
Floyd算法

2.Dijkstra算法:O(|V|^2),单源最短路,不能处理存在负边权的情况。 边多 时适用
Dijkstra算法 & 堆优化

3.Bellman-Ford算法:O(|V||E|),单源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。边少 时使用 可以检验负环
Bellman-Ford算法 & SPFA

4.堆优化Dijkstra算法:O((|V|+|E|)*log|V|),单源最短路,不能处理存在负边权的情况。

5.队列优化Bellman-Ford算法(SPFA):时间复杂度玄学,单源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。

SPFA能判断带环负权图

权值非负:堆优化Dijkstra----->SPFA

有负边权:SPFA

相关推荐
念越5 小时前
蓝桥杯17届功能测试模拟1期题目及解析(1)
功能测试·蓝桥杯·测试用例·场景法
C++ 老炮儿的技术栈6 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl6 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628886 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星6 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
波特率1152007 小时前
const关键字与函数的重载
开发语言·c++·函数重载
条tiao条7 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名7 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
tobias.b7 小时前
计算机基础知识-数据结构
java·数据结构·考研
zzh940777 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法