最小生成树算法讲解PPT资料.ppt
- 文档编号:15037411
- 上传时间:2022-10-27
- 格式:PPT
- 页数:32
- 大小:655KB
最小生成树算法讲解PPT资料.ppt
《最小生成树算法讲解PPT资料.ppt》由会员分享,可在线阅读,更多相关《最小生成树算法讲解PPT资料.ppt(32页珍藏版)》请在冰豆网上搜索。
V4V1V3V2V6V56512665534V4V1V3V2V6V561654V4V1V3V2V6V512534西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China4最小代价生成树F两种常用的构造最小生成树的方法:
两种常用的构造最小生成树的方法:
普里姆算法普里姆算法克鲁斯卡尔算法克鲁斯卡尔算法西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China5q假设假设N=(VN=(V,E)E)是连通网,是连通网,TETE是是NN上最小生成树中边的集合。
上最小生成树中边的集合。
q算法从算法从U=uU=u00(u(u00V)V),TE=TE=开始,重复执行下述操作:
开始,重复执行下述操作:
F在所有在所有uUuU,vV-UvV-U的边的边(u(u,v)v)中找一条代价最小的边中找一条代价最小的边(u(u00,v,v00),),将将其并入集合其并入集合TETE,同时将,同时将vv00并入并入UU集合。
集合。
F当当U=VU=V则结束,此时则结束,此时TETE中必有中必有n-1n-1条边,则条边,则T=(VT=(V,TE)TE)为为N的最小生的最小生成树。
成树。
q普里姆算法构造最小生成树的过程是从一个顶点普里姆算法构造最小生成树的过程是从一个顶点U=uU=u00作作初态,不断寻找与初态,不断寻找与UU中顶点相邻且代价最小的边的另一个顶中顶点相邻且代价最小的边的另一个顶点,扩充到点,扩充到UU集合直至集合直至U=VU=V为止。
为止。
普里姆(Prim)算法西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China6V4V1V3V2V6V56512665534V4V1V3V2V6V512534UV-UV1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V1,V3,V6V2,V4,V5
(2)V1,V3,V6,V4V2,V5(3)V1,V3,V6,V4,V2V5(4)V1,V3,V6,V4,V2,V5(5)最小代价生成树q普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China7V4V1V3V2V6V5165V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)UV-Uq普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China8V4V1V3V2V6V565V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V6V1,V3,V6V2,V4,V5
(2)46554UV-Uq普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China9V4V1V3V2V6V565V4V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V6V1,V3,V6V2,V4,V5
(2)4655V1,V3,V6,V4V2,V5(3)262UV-Uq普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China10V4V1V3V2V6V56V4V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V2V6V1,V3,V6V2,V4,V5
(2)465V1,V3,V6,V4V2,V5(3)62V1,V3,V6,V4,V2V5(4)5UV-Uq普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China11V4V1V3V2V6V5V4V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V2V6V5V1,V3,V6V2,V4,V5
(2)46V1,V3,V6,V4V2,V5(3)62V1,V3,V6,V4,V2V5(4)5V1,V3,V6,V4,V2,V5(5)33UV-Uq普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China12q普里姆算法求最小生成树:
从生成树中只有一个顶点开始,到顶点全部进入生成树为止V4V1V3V2V6V5V4V1V31V1V2,V3,V4,V5,V6步骤步骤(0)V1,V3V2,V4,V5,V6
(1)V2V6V5V1,V3,V6V2,V4,V5
(2)4V1,V3,V6,V4V2,V5(3)2V1,V3,V6,V4,V2V5(4)5V1,V3,V6,V4,V2,V5(5)3UV-U最小代价生成树西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China13普里姆(Prim)算法生成树中只放置一个顶点生成树中只放置一个顶点在关联生成树顶点的边中(即边的在关联生成树顶点的边中(即边的一个顶点在生成树中,另一个顶点不在)一个顶点在生成树中,另一个顶点不在)取权值最小者取权值最小者将选中的边加入生成树,将选中的边加入生成树,同时将该边的关联顶点加入生成树中同时将该边的关联顶点加入生成树中生成树中顶点数小于生成树中顶点数小于n?
是否结束结束开始开始西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China14基本要求基本要求l从键盘(或数据文件)输入图的信息,用普里姆算法求解从键盘(或数据文件)输入图的信息,用普里姆算法求解给定无向连通图的最小生成树,最后输出最小生成树中的给定无向连通图的最小生成树,最后输出最小生成树中的权值和所有的边,图的存储结构自行设定。
权值和所有的边,图的存储结构自行设定。
F例如例如下图的输出为下图的输出为weight:
15(v1,v3)(v3,v6)(v6,v4)(v3,v2)(v2,v5)或者或者(1,3)(3,6)(6,4)(3,2)(2,5)西安电子科技大学软件学院-SchoolofComputerSoftware,XidianUniversity,China15q顶点集合如何表示?
顶点集合如何表示?
q最小边如何选择?
最小边如何选择?
q一个顶点加入一个顶点加入UU集合(生成树中)集合(生成树中)如何表示?
如何表示?
structintadjvex;
doublelowcost;
closedgeMAX_VERTEX_NUM;
closedgei.adjvex=kclosedgei.lowcost顶点顶点i与顶点与顶点k邻接邻接顶点顶点k已经在已经在U集合中集合中顶点顶点i加入加入U集合时集合时普里姆算法的实现=0adjvexlowcostv16v11v15v1v2,v3,v4,v5,v63v2v3v4v5v6UV-Uk顶点顶点iclosedgeclosedge2.adjvex=1.lowcost=6closedge3.adjvex=1.lowcost=1closedge4.adjvex=1.lowcost=5V4V1V3V2V6V5165F当当U集合中加入一个新顶点时,集合中加入一个新顶点时,V-U集合中的顶点到集合中的顶点到U的最小代价边可能会更新的最小代价边可能会更新V4V1V3V2V6V56512665534U集合的成员:
集合的成员:
V-U集合的成员:
closedge5.adjvex=1.lowcost=closedge6.adjvex=1.lowcost=adjvexlowcostv16v11v15v1v2,v3,v4,v5,v63adjvexlowcostv350v15v36v34v1,v3v2,v4,v5,v66v2v3v4v5v6UV-Uk顶点顶点iclosedgeV4V1V3V2V6V55564U集合的成员:
F当当U集合中加入一个新顶点时,集合中加入一个新顶点时,V-U集合中的顶点到集合中的顶点到U的最小代价边可能会更新的最小代价边可能会更新V4V1V3V2V6V56512665534closedge2.adjvex=3.lowcost=5closedge4.adjvex=1.lowcost=5closedge5.adjvex=3.lowcost=6closedge6.adjvex=3.lowcost=4adjvexlowcostv16v11v15v1v2,v3,v4,v5,v63adjvexlowcostv350v15v36v34v1,v3v2,v4,v5,v66adjvexlowcostv350v62v360v1,v3,v6v2,v4,v54v2v3v4v5v6UV-Uk顶点顶点iclosedgeV4V1V3V2V6V5562V4V1V3V2V6V56512665534F当当U集合中加入一个新顶点时,集合中加入一个新顶点时,V-U集合中的顶点到集合中的顶点到U的最小代价边可能会更新的最小代价边可能会更新U集合的成员:
closedge2.adjvex=3.lowcost=5closedge4.adjvex=6.lowcost=2closedge5.adjvex=3.lowcost=6adjvexlowcostv16v11v15v1v2,v3,v4,v5,v63adjvexlowcostv350v15v36v34v1,v3v2,v4,v5,v66adjvexlowcostv350v62v360v1,v3,v6v2,v4,v54adjvexlowcostv3500v360v1,v3,v6,v4v2,v5v2v3v4v5v6UV-Uk顶点顶点icl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最小 生成 算法 讲解