永发信息网

利用Prim(普里姆)算法 构造最小生成树 程序

答案:1  悬赏:30  手机版
解决时间 2021-02-17 09:59
利用Prim(普里姆)算法 构造最小生成树 程序
最佳答案
算法同样是解决最小生成树的问题。 其算法为:在这n个点中的相通的边进行排序,然后不断地将边添加到集合中(体现了贪心的算法特点),在并入集合之前,必须检查一下这两点是不是在一个集合当中,这就用到了并查集的知识。直到边的集合达到了n-1个。 与prim算法的不同:prim算法为单源不断寻找连接的最短边,向外扩展,即单树形成森林。而Kruskal算法则是不断寻找最短边然后不断将集合合并,即多树形成森林。 复杂度的不同:prim算法的复杂度是O(n^2),其中n为点的个数。Kruskal算法的复杂度是O(e*loge),其中e为边的个数。两者各有优劣,在不同的情况下选择不同的算法。 Prim算法用于求无向图的最小生成树 设图G =(V,E),其生成树的顶点集合为U。 ①、把v0放入U。 ②、在所有u∈U,v∈V-U的边(u,v)∈E中找一条最小权值的边,加入生成树。 ③、把②找到的边的v加入U集合。如果U集合已有n个元素,则结束,否则继续执行②。 其算法的时间复杂度为O(n^2) Prim算法实现: (1)集合:设置一个数组set(i=0,1,..,n-1),初始值为 0,代表对应顶点不在集合中(注意:顶点号与下标号差1) (2)图用邻接阵表示,路径不通用无穷大表示,在计算机中可用一个大整数代替。 {先选定一个点,然后从该点出发,与该点相连的点取权值最小者归入集合,然后再比较在集合中的两点与其它各点的边的权值最小者,再次进入集合,一直到将所有的点都归入集合为止。}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能帮我找到这两张图的原图,不带字的,好像
5x10-5x3=5x(10一3)是乘法分配律吗
聚醚1000和聚醚多元醇的区别
这样一边旋转一边打开的结构,叫什么名字。
2016年李姓带宣字的
桑蚕丝无论手洗还是汗洗,洗了之后都不如没洗
用数学知识解释下列现象:(1)一只蚂蚁行走
求埃斯库罗斯的《奠酒人》
苏莫晨照片 是他吗?
k511阳春一株洲,,广东阳春到湖南株洲的火车
使你疲倦的不是你前面的高山,而是你鞋子里的
单选题有关城市化的叙述,正确的是A.在城市化
野生黄菇怎么样做好吃?
单选题鸦片战争爆发的根本原因是A.清政府统治
1.独唱:趁早 2.二人合唱:得宠 3.小品:今天 明
推荐资讯
广州黄石广场属于哪里
艮上兑下
如何从吉他百分百下载吉他“图”谱
高层住宅楼上下墙体厚度一样吗?
广州叮菲尔服饰
被告逃避不接传票,原告又没撤诉,法院会怎么处
性状分离得概念是什么 是凡是杂合子自交都会
中国男性结婚的平均年龄是多少?
有什么app可以用流量打电话,而且不用双方安
02年宝来1.8T自动挡水温感应器坏了会出哪种状
中国电信天和苑营业厅我想知道这个在什么地方
比喻经常用脑,思维才灵活是什么成语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?