最小生成树--Prime算法
2014-12-29 13:23
190 查看
最小生成树
定义:n个顶点网络的生成树有n个结点,n-1条分枝。假设网络中有m条边(m≥n-1),用MST表示许多可能的生成树的集合,每棵树中n-1条分枝上的权之和用WG(T)表示,则使得WG(Tmin)=Min{WG(T)|
T MST}的生成树Tmin便是网络的最小生成树。
构造最小生成树的算法:Prime算法 和Kruskal算法
Prime算法
1.可取图中任意一个顶点v作为生成树的根,之后如果要往生成树上添加顶点w,则在顶点
v 和
w之间必定存在一条边(v,w),并且该边的权值在所有连通顶点v和
w 之间的边中取值最小。
2.一般情况下,假设n个顶点分成两个集合:U(包含已经落在生成树上的顶点)和V-U(尚未落在生成树上的顶点),则在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。
算法思想:假设N=(V,{E})是一个连通图,TE是N上最小生成树中边的集合。算法从U={u0
}(u0 V),TE={ }开始,重复执行下述操作:在所有u U,v V-U的边(u, v)
{E}中找一条代价最小的边(u0, v0)并入集合TE,同时v0并入U,直至U=V为止。此时,TE中必有n-1条边,则T=(V,{TE})为N的最小生成树。
如下图所示:
定义:n个顶点网络的生成树有n个结点,n-1条分枝。假设网络中有m条边(m≥n-1),用MST表示许多可能的生成树的集合,每棵树中n-1条分枝上的权之和用WG(T)表示,则使得WG(Tmin)=Min{WG(T)|
T MST}的生成树Tmin便是网络的最小生成树。
构造最小生成树的算法:Prime算法 和Kruskal算法
Prime算法
1.可取图中任意一个顶点v作为生成树的根,之后如果要往生成树上添加顶点w,则在顶点
v 和
w之间必定存在一条边(v,w),并且该边的权值在所有连通顶点v和
w 之间的边中取值最小。
2.一般情况下,假设n个顶点分成两个集合:U(包含已经落在生成树上的顶点)和V-U(尚未落在生成树上的顶点),则在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。
算法思想:假设N=(V,{E})是一个连通图,TE是N上最小生成树中边的集合。算法从U={u0
}(u0 V),TE={ }开始,重复执行下述操作:在所有u U,v V-U的边(u, v)
{E}中找一条代价最小的边(u0, v0)并入集合TE,同时v0并入U,直至U=V为止。此时,TE中必有n-1条边,则T=(V,{TE})为N的最小生成树。
如下图所示:
相关文章推荐
- 最小生成树 prime算法
- hdoj 1233 还是畅通工程---最小生成树---prime算法
- prime算法求最小生成树(畅通工程再续)
- 最小生成树 prime算法 求权值最大的边
- hdoj 1863 畅通工程 最小生成树---prime算法
- 最小生成树 Prime算法
- prime算法求所有最小生成树
- 【解题报告】 HDU 1102 Constructing Roads -- 并查集 最小生成树 Prime算法
- PKU1679判断最小生成树是否唯一Prime算法
- Prime算法实现最小生成树
- hdoj 1863 畅通工程 最小生成树---prime算法
- hdoj 1233 还是畅通工程---最小生成树---prime算法
- 最小生成树-prime算法
- 最小生成树-prime算法
- 数据结构_图_最小生成树算法之prime算法
- POJ2395 最小生成树 - Prime算法
- 最小生成树 Prime算法 简单题
- 最小生成树 prime算法
- 「图论」最小生成树-Prime算法
- 最小生成树Prime算法