最小生成树
Prime's Blog
借夜阑静处,独看天涯星
展开
-
再谈最小生成树——Prim
再谈最小生成树——Prim接着上一篇的镖局运镖,我们将图中所有的顶点分为两类:树顶点(已被选入生成树的顶点) 和 非树顶点(还未被选入生成树的顶点)。首先选择任意一个顶点加入生成树(你可以理解成为生成树的根)。接下来要找出一条边添加到生成树,这需要枚举每一个树顶点到每一个非树顶点所有的边,然后找到最短边加入到生成树。照此方法,重复操作n-1次,知道将所有顶点都加入生成树中。以上算法时间复杂度为:O(n²)代码如下:#include<bits/stdc++.h>using namesp原创 2020-09-24 11:23:39 · 275 阅读 · 0 评论 -
镖局运镖-图的最小生成树——Kruskal
镖局运镖-图的最小生成树输入格式:输出格式:最近小哼迷上了《龙门镖局》,从恰克图道武夷山,从张家口道老河口,从迪化道佛山,从蒙自道奉天……古代镖局的运镖,就是运货,也就是现在的物流。镖局每到一个新地方开展业务,都需要对运镖途中的绿林好汉进行大点,好说话的打点费就比较低,不好说话的打点费就比较高。输入格式:第一行有两个数n和m,n表示有n个城市(编号从1到n),m表示有m条道路。接下来m行,每行形如“a b c”用来表示一条道路,意思是城市a到城市b连通且打点需要花费的银子数是c。输出格式:若通过打原创 2020-09-24 09:33:55 · 523 阅读 · 0 评论