算法模板
哒ダダ子
这个作者很懒,什么都没留下…
展开
-
prim 最小生成树
算法原理给定一个无向图,在图中选择若干条边把图的所有节点连起来。要求边长之和最小。在图论中,叫做求最小生成树。prim 算法采用的是一种贪心的策略。每次将离连通部分的最近的点和点对应的边加入的连通部分,连通部分逐渐扩大,最后将整个图连通起来,并且边长之和最小。不断迭代 用dist[j] = min(dist[j], g[t][j])更新到集合的最短距离。优化prim算法与dijikstra算法一样都可以用堆优化的方式实现对稀疏图的优化,但是稀疏图一般不用prim(Kruskal真香)与dij原创 2021-06-05 18:25:06 · 255 阅读 · 2 评论 -
Dijkstra算法模板及其优化
Dijkstra 算法原理即进行n(n为点的个数)次迭代去确定每个点到起点的最小值 最后输出的终点的即为我们要找的最短路的距离算法分析朴素版本:由于计算第n个点的时候,需要计算到前面n-1个点所组成的连通块的的最短路径长度,朴素版本利用的是对前面每一个点进行遍历的方法。堆优化版本:每次找到最小距离的点沿着边更新其他的点,若dist[j] > distance + w[i],表示可以更新dist[j],更新后再把j点和对应的距离放入小根堆中。由于点的个数是n,边的个数是m,在极限情况下(稠密原创 2021-06-05 17:56:17 · 239 阅读 · 0 评论