数据结构(牛小飞)5最小生成树课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构(牛小飞)5最小生成树课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 牛小飞 最小 生成 课件
- 资源描述:
-
1、最小生成树生成树和生成森林最小生成树小结和作业生成树一、定义一、定义图图G的生成树是的生成树是G的极小连通子图,即包含的极小连通子图,即包含G中的所有顶点(中的所有顶点(n)和)和n-1条边的连通子图条边的连通子图生成树V1V2V3V4V5V8V6V7V1V2V4V8V5V3V6V7V1V2V3V4V5V8V6V7深度优先:深度优先:广度优先:广度优先:生成树二、算法二、算法图的遍历算法访问了图中的每个顶点一次图的遍历算法访问了图中的每个顶点一次且仅一次。且仅一次。访问某个顶点的邻接点时,要经过与这两访问某个顶点的邻接点时,要经过与这两个顶点相关联的边。个顶点相关联的边。因此,图的遍历算法可以
2、产生一颗生成树:因此,图的遍历算法可以产生一颗生成树:所有的顶点和经过的边。所有的顶点和经过的边。生成树算法void DFSTree(Graph G,int v,CSNode T)v.visit=true;first=true;for(w=FirstAdjVex(G,v);w=0;w=NextAdjVex(G,v,w)if(!w.visit)p=new CSNode(v);if(first)T.lchild=p;first=false;else q.nextsibling=p;q=p;DFSTree(G,w.q);SG1SG2SG3Vw1w3w2算法算法以孩子以孩子兄弟链表作兄弟链表作为生成森
3、林为生成森林的存储结构的存储结构生成森林一、定义一、定义 非连通图非连通图G的每个连通分量的生成树,的每个连通分量的生成树,构成了图构成了图G的生成森林的生成森林生成森林abchdekfg812345670812345670abchdekfg非连通图非连通图G:G的深度优先搜索生的深度优先搜索生成森林:成森林:achdfekbg生成森林算法算法算法以孩子以孩子兄弟链表作兄弟链表作为生成森林为生成森林的存储结构的存储结构void DFSForest(Graph G,CSNode T)T=null;for(v=0;v=G.vexnum;+v)v.visit=false;for(v=0;v=G.ve
4、xnum;+v)if(!v.visit)p=new CSNode(v)if(!T)T=p;else q.nextsibling=p;q=p;DFSTree(G,v,p);最小生成树 假设要在假设要在 n n 个城市之间建立通讯联络个城市之间建立通讯联络网,则连通网,则连通 n n 个城市只需要修建个城市只需要修建 n-1n-1条线条线路,路,如何在最节省如何在最节省经费经费的前提下建立这个的前提下建立这个通讯网通讯网?问题:问题:最小生成树连通网:连通网:n个城市和城市间个城市和城市间可能的通信线路可能的通信线路网的顶点:网的顶点:表示城市表示城市网的边:网的边:表示两个城市之间表示两个城市之
展开阅读全文