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解决不了带负权回路的最短路径

相关推荐
充值修改昵称6 小时前
数据结构基础:B+树如何优化数据库性能
数据结构·b树·python·算法
Cinema KI6 小时前
一键定位,哈希桶的极速魔法
数据结构·c++·算法·哈希算法
曾几何时`6 小时前
二分查找(九)2300. 咒语和药水的成功对数
数据结构·算法
sin_hielo7 小时前
leetcode 3510
数据结构·算法·leetcode
苦藤新鸡7 小时前
29.删除倒数第N个节点
数据结构·链表·力扣
重生之我是Java开发战士7 小时前
【数据结构】Map、Set与哈希表底层原理
java·数据结构·散列表
橘子师兄7 小时前
C++AI大模型接入SDK—API接入大模型思路
开发语言·数据结构·c++·人工智能
tobias.b7 小时前
408真题解析-2010-4-数据结构-平衡二叉树插入
数据结构·计算机考研·408真题解析
历程里程碑7 小时前
哈希3 : 最长连续序列
java·数据结构·c++·python·算法·leetcode·tornado
2401_841495647 小时前
【LeetCode刷题】两两交换链表中的节点
数据结构·python·算法·leetcode·链表·指针·迭代法