码迷,mamicode.com
首页 > 编程语言 > 详细

Prim算法 kruskal算法的简单证明

时间:2018-05-09 20:55:58      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:简单   联通   生成   最小生成树   最小   kruskal   连通图   kruskal算法   ...   

prim算法证明 :

对于最小代价生成树中的ai点

删除与他相连接的k条边

最小连通图成为 k+1个连通子图 

选取ai点连接外界的最小边 a1到a2

一定是最小树中的一条边 

 

对于最小代价生成树中的a1 a2两点

删除他们与外界相连接的k`条边

连通图成为k`+1个联通子图

他们与外界相连接的最小边ai 到a3

一定是树中的一条边

........

按照以上步骤可以确定所有n个点的n-1条边

 

kruskal证明

由prim算法可知 

连接一个 最小生成树的子图与外界的最小边一定是最小生成树中的边

按照kruskal算法选取的第一个边

a1到a2,是a1连接外界的最小边

由prim算法可知属于最小生成树

由kruskal算法找到的第二个边a3(可能等于a1或a2) 到a4(可能等于a1或a2) 

当作a3所属的最小生成树连接到外界的最小边(更小的要么已经被选 要么已经和已经确定的边形成回路)

由prim算法可知属于最小生成树 

........

按照以上步骤可以确定所有n个点的n-1条边

Prim算法 kruskal算法的简单证明

标签:简单   联通   生成   最小生成树   最小   kruskal   连通图   kruskal算法   ...   

原文地址:https://www.cnblogs.com/luozhonghao/p/9016258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!