Prim算法 kruskal算法的简单证明

Posted luozhonghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prim算法 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算法的简单证明的主要内容,如果未能解决你的问题,请参考以下文章

Prim算法和Kruskal算法(图论中的最小生成树算法)

贪心算法之prim算法的证明

贪心算法-最小生成树Kruskal算法和Prim算法

prim算法求最小生成树

急求KRUSKAL算法求最小生成树过程演示

最小生成树算法详解(prim+kruskal)