最小生成树--Prime算法

最小生成树
定义:n 个顶点网络的生成树有 n 个结点, n-1 条分枝。假设网络中有 m 条边 (m n-1) ,用 MST 表示许多可能的生成树的集合,每棵树中 n-1 条分枝上的权之和用 WG(T) 表示,则使得 WG( T min )=Min{WG(T)| T     MST} 的生成树 T min 便是网络的最小生成树。
构造最小生成树的算法 Prime 算法 Kruskal 算法
      Prime算法
1.可取图中任意一个顶点v作为生成树的根,之后如果要往生成树上添加顶点w,则在顶点 v w之间必定存在一条边(v,w),并且该边的权值在所有连通顶点vw 之间的边中取值最小。
2.一般情况下,假设n个顶点分成两个集合:U(包含已经落在生成树上的顶点)和V-U(尚未落在生成树上的顶点),则在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。
算法思想 假设 N=(V {E}) 是一个连通图, TE N 上最小生成树中边的集合。算法从 U={u 0 }(u 0     V) TE={ } 开始, 重复执行下述操作: 在所有 u   U v    V U 的边 (u, v)    {E} 中找一条代价最小的边 (u 0 , v 0 ) 并入集合 TE ,同时 v 0 并入 U ,直至 U=V 为止。此时, TE 中必有 n-1 条边,则 T=(V { TE}) N 的最小生成树。
如下图所示:

最近我建立了个公众号,会发布一些关于网络安全的知识,以及网络安全的代码。如果大家对我的代码有疑问,也可以通过下面的公众号找到我,向我提问,我会及时回答,欢迎大家关注哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leihengxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值