1 / 16
文档名称:

最小生成树求解方法与分析.pptx

格式:pptx   大小:305KB   页数:16页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

最小生成树求解方法与分析.pptx

上传人:gyzhluyin 2017/12/2 文件大小:305 KB

下载得到文件列表

最小生成树求解方法与分析.pptx

相关文档

文档介绍

文档介绍:最小生成树求解方法与分析
报告人:
小组成员:
求解最小生成树方法
Prim算法
Kruskal算法
破圈法
三种算法的比较
Prim算法
基本思路:任选一个定点V0,连接于V0最近的顶点V1,得到子树T1,在连接与T1最近的顶点V2,得到子树T2,如此继续下去,直到所得子树包含所有顶点。
时间复杂度:O(n2), n为图的定点数。
Prim算法构造最小生成树过程
Prim算法的抽象描述
PrimMST(G,T,r)
{ //求图G的以r为根的MST,结果放在T=(U,TE)中
InitCandidateSet(„);
//初始化:设置初始的最短边候选集,并置T=({r},¢)
for(k=0;k<n-1;k++)
{ //求n-1条树边
(u,v)=SelectLiShtEdge(„);
//选取最短边(u,v);
T←T∪{(u,v)};//扩充T
ModifyCandidateSet(„);
}
}
kruskal算法
基本思路:假设连通网N=(V,{E}),则令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}),图中每个顶点自成一个连通分量。在E中选择一个代价最小的边,若该边依附的顶点落在T中不同的连通分量上,则将此边加入到T中,否则舍弃此边选择下一条代价最小的边。以此类推,直至T中所有顶点都在同一连通分量上。
Kruskal算法构造最小生成树过程
Kruskal算法的抽象描述
KruskalMST(G)
{ //求连通网G的一棵MST
T=(V,¢); //初始化,T是只含n个顶点不包含边的森林依权值的递增序对E(G)中的边排序,并设结果在E[0..e-1]中
for(i=0;i<e;i++)
{ //e为图中边总数取E[0..e-1)中的第i条边(u,v);
if u和v分别属于T中两棵不同的树then
T=T∪{(u,v)};//(u,v)是安全边,将其加入T中
if T已是一棵生成树then
return T;
}//endfor return T;
}