单源最短路
文章平均质量分 56
图论
Mustan_
这个作者很懒,什么都没留下…
展开
-
单源最短路加深
求最大值边权必须小于0;求最小值边权必须大于0;求最大乘积边权必须小于1;求最小乘积边权必须大于1。(4)单源最短路求的是起点到其他任意一点的最短路,所以单源最短路也可以求。(5)单源最短路也可以做的很像最小生成树,求。无论是正的负的,还是加的乘的,(6)单源最短路可以是。(最基础的单源最短路)(起点与其他所有点)(起点与其他所有点)原创 2023-02-04 12:23:16 · 74 阅读 · 0 评论 -
图论最短路杂项
Dijkstra只能用于求解正边权的最短路,其时间复杂度只与点数有关;堆优化的Dijkstra,其时间复杂度既与点数有关,也与边数有关;,用邻接表存图的话不用做特殊处理,但是用邻接矩阵存图的话,就要取最小值。(4)如果有负权回路,并不说明在求解最短路的过程中一定会死循环,只是说。bellman-ford用于求解有负权边的最短路问题,并且可以规定。spfa也是用于求解有负权边的最短路问题,其实质上是。问题,它既可以处理正权边,也可以处理负权边,但是。(3)bellman-ford算法:复杂度。原创 2023-01-29 20:55:39 · 94 阅读 · 0 评论 -
spfa算法
(1)spfa实质上是用队列优化的bellman-ford算法,在bellman-ford中,我们每一轮的松弛操作都需要遍历所有的边,但是有些边是不需要遍历的,所以我们把需要更新的边的起点放入队列中,更新队列里面存在的就行了(2)虽然bellman-ford也可以判断负环,但是一般用spfa。原创 2023-01-29 11:13:08 · 543 阅读 · 0 评论 -
Bellman-ford算法
(1)bellman-ford算法用于求解有负权边的最短路问题(2)bellman-ford可以用于判断有无负权回路(3)bellman-ford可以用于求解最多经过k条边的最短路问题。原创 2023-01-28 19:33:57 · 235 阅读 · 0 评论 -
迪杰斯特拉(Dijkstra)算法
(1)Dijkstra算法用于求解最短路问题,且所有的边权都必须为正(2)Dijkstra算法有朴素版本和堆优化版本两种;一般来说,如果是稠密图,就用朴素的,如果是稀疏图,就用堆优化的(3)稠密图或者点数比较少时一般用邻接矩阵,稀疏图或者点数比较多时一般用邻接表(邻接矩阵在有重边时要取最小值,邻接表则不用考虑重边)原创 2023-01-27 20:48:43 · 717 阅读 · 0 评论