最短路径
.
ComBoat
俺好菜呀o(╥﹏╥)o
展开
-
最短路径 spfa算法
算法思路 建立一个队列,初始时队列里只有起始点,再建立一个数组记录起始点到所有点的最短路径。然后执行松弛操作,用队列里有的点作为起始点去刷新到所有点的最短路,如果刷新成功且被刷新点不在队列中则把该点加入到队列最后。重复执行直到队列为空 SPFA 在形式上和BFS非常相似,不同的是BFS中一个点出了队列就不可能再次进入队列之中,而SPFA中 一个点可能在出队列之后再次进入队列之中,就是说一个点用于更新其他之后,如果其本身被更新,需要重新加入至队列之中,与其相连的点亦需重新更新。 spfa算法可用SLF和LLL原创 2021-02-04 23:31:19 · 138 阅读 · 0 评论 -
最短路径 Dijkstra算法
算法思路 通过Dijkstra计算图中的最短路径时,需要指定起点s(即从顶点s开始计算)。此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。初始时,S中只有起点s;U中是除s之外的顶点,并且U中顶点的路径是"起点s到该顶点的路径"。然后,从U中找出路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶点对应的路径。 然后,再从U中找出路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶点对应的路径原创 2021-02-04 22:34:49 · 118 阅读 · 1 评论