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

最短路算法

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

相关推荐
不爱吃炸鸡柳1 小时前
单链表专题(完整代码版)
数据结构·算法·链表
Ricky_Theseus1 小时前
C++右值引用
java·开发语言·c++
CylMK1 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法
Dfreedom.1 小时前
计算机视觉全景图
人工智能·算法·计算机视觉·图像算法
吴梓穆1 小时前
UE5 c++ 常用方法
java·c++·ue5
云栖梦泽1 小时前
Linux内核与驱动:9.Linux 驱动 API 封装
linux·c++
Morwit2 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
SpiderPex2 小时前
第十七届蓝桥杯 C++ B组-题目 (最新出炉 )
c++·职场和发展·蓝桥杯
无小道2 小时前
算法——暴力+优化
算法·优化·暴力
Free Tester2 小时前
如何判断 LeakCanary 报告的严重程度
java·jvm·算法