![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路径问题
早睡身体好_
这个作者很懒,什么都没留下…
展开
-
迪杰斯特拉算法(解决单源最短路径问题)
迪杰斯特拉算法用于解决图的单源最短路径问题,即给定a和b点,求a到b的最短路径。但是局限性在于不能处理图中含有负权边的情况。迪杰斯特拉算法和弗洛伊德算法非常类似,只不过是弗洛伊德是对所有结点对都做了松弛操作,而迪杰斯特拉算法只对给定的结点对做松弛,基本思路是很像的。这里就不解释松弛操作了,详见:弗洛伊德算法基本思路: 从给定的起点出发,找一个离它最近且没有访问...原创 2018-12-07 09:12:19 · 1908 阅读 · 0 评论 -
弗洛伊德算法(解决多源最短路径问题)
在图的问题中,经常会遇到求两个点之间的最短路径的问题,而且无法确定起点和终点,即多源最短路径问题。而弗洛伊德算法就是解决这一类问题的。和迪杰斯特拉算法类似,迪杰斯特拉算法对一对结点做松弛操作,而弗洛伊德是对图中每一个结点对进行一轮松弛操作。迪杰斯特拉算法详解:https://blog.csdn.net/Q_M_X_D_D_/article/details/84869026基本思...原创 2018-12-06 23:00:07 · 4508 阅读 · 3 评论 -
LeetCode_399除法求值(弗洛伊德算法)
题目链接:https://leetcode-cn.com/problems/evaluate-division/description/ 本题要解的是多源最短路径问题,所以用弗洛伊德算法比较合适。 弗洛伊德是个三层循环,对每一个节点对做松弛操作,但在本题中,松弛操作较为不同。本题的松弛操作要用到一个简单的数学式子:a/b=(a/c)*(c/b)。最短路径中的松弛...原创 2018-12-06 22:27:52 · 834 阅读 · 0 评论