Bellman-ford 贝尔曼-福特算法

Bellman-ford算法可以解决负权图的单源最短路径问题 --- 它的优点是可以解决有负权边的单源最短路径问题,而且可以判断是否负权回路

它也有明显的缺点,它的时间复杂度O(N*E)(N是点数 , E是边数)普遍是要高于Dijkstra算法O(N^2)的,像这里,我们使用邻接矩阵实现,那么遍历所有边的数量的时间复杂度就是O(N^3),这里也可以看出Bellman-ford就是一种暴力求解更新

我们这边i-->j的边只更新一次

到这一步就不正常了

只要你更新出了一条更短路径,可能就会影响其它路径 --> 路径不会错,但是权值可能会有问题

时间复杂度 O(N^3) , 空间复杂度O(N)

Bellman-Ford解决不了带负权回路的最短路径

相关推荐
木木子226 小时前
# 鸿蒙 ArkTS 实战:秒表 Stopwatch(示例 5)
数据结构·华为·list·harmonyos
geats人山人海7 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
白狐_7988 小时前
408 数据结构算法题 01:线性表暴力求解保分指南
java·数据结构·算法
冻柠檬飞冰走茶8 小时前
PTA基础编程题目集 7-31 字符串循环左移(C语言实现)
c语言·开发语言·数据结构·算法
来一碗刘肉面9 小时前
树的存储结构
数据结构
GrowthDiary00710 小时前
算法题:寻找二维数组top k问题
数据结构·python·算法
SHARK_pssm11 小时前
【数据结构——栈】
数据结构
阿米亚波11 小时前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
-dzk-12 小时前
【链表】LC 160.相交链表
数据结构·链表
AKA__Zas13 小时前
芝士算法(前缀和2.0)
java·数据结构·算法·leetcode·哈希算法·学习方法