图的深度优先遍历ppt课件.ppt

上传人:牧羊曲112 文档编号:1968401 上传时间:2022-12-28 格式:PPT 页数:54 大小:1.33MB
返回 下载 相关 举报
图的深度优先遍历ppt课件.ppt_第1页
第1页 / 共54页
图的深度优先遍历ppt课件.ppt_第2页
第2页 / 共54页
图的深度优先遍历ppt课件.ppt_第3页
第3页 / 共54页
图的深度优先遍历ppt课件.ppt_第4页
第4页 / 共54页
图的深度优先遍历ppt课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《图的深度优先遍历ppt课件.ppt》由会员分享,可在线阅读,更多相关《图的深度优先遍历ppt课件.ppt(54页珍藏版)》请在三一办公上搜索。

1、7.3图的遍历,回顾其他数据结构的遍历:顺序表的遍历单链表的遍历二叉树的遍历展望:那么对于图,我们怎样进行遍历呢?图的深度优先遍历图的广度优先遍历这两个算法是后面拓扑排序、求关键路径算法的基础,7.3.1.连通图的深度优先遍历,1.深度优先遍历以v开始的连通图,访问v分别深度优先遍历v的各个未被访问的邻接点,算法描述:,2.算法演示,例图及其邻接表表示,演示开始,以v1为遍历的起点,v1,v3,v2,v3,v3,v1,v5,v4,v3,v1,v5,v4,v3,v1,v5,v3,v1,v5,v2,v8,v3,v1,v5,v2,v8,v3,v1,v5,v2,v3,v1,v5,v2,v4,v5,v3

2、,v1,v5,v2,v4,v5,v3,v1,v5,v2,v4,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v3,v1,v5,v2,v4,v2,v8,v1,v5,v2,v4,v2,v8,v1,v5,v2,v4,v2,v8,v1,v6,v7,v1,v5,v2,v4,v2

3、,v8,v1,v6,v7,v1,v5,v2,v4,v2,v8,v1,v7,v1,v5,v2,v4,v2,v8,v1,v7,v3,v7,v1,v5,v2,v4,v2,v8,v1,v7,v3,v7,v1,v5,v2,v4,v2,v8,v1,v7,v3,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4

4、,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,v1,v5,v2,v4,v2,v8,v1,v7,v3,v3,v6,演示结束,3.算法实现,从演示过程可以看出,我们必须知道顶点是否已经被访问过。在具体实现时,我们用一个全局数组visited来记录顶点是否被访问过。如果visitedi的值为True,则顶点vi已经被访问,否则没有被访问。,3.算法实现,Void DFS(Graph G,int v)Visitedv=True;coutv;For(v的每一个邻接点w)If(

5、visitedw=false)/如果没有被访问过DFS(G,w),3.算法实现,当图的存储结构为邻接表时,深度优先算法可以表示如下:bool visited100=false;void DFS(ALGraph mg,int v)visitedv=true;/以前未被访问,此处被访问改变对应的标志为已经访问cout0;w=NextAdjVex(mg,v,w)对于v的每一个邻接点进行考察if(visitedw=false)当该结点未被访问时DFS(mg,w);进行深度优先遍历,练习题:对于下面一个图及其存储结构,写出以v2、v8为起始点的深度优先遍历序列。,例图及其邻接表表示,答案为:以v2为起始点:v2-v1-v3-v6-v7-v4-v8-v5以v8为起始点:v8-v4-v2-v1-v3-v6-v7-v5,思考题:,若图不是连通图,如何进行深度优先遍历?请建立下图的邻接表结构,并进行深度优先遍历,v1,v2,v3,v4,v5,v6,v7,bool visited100=false;void DFSTraverse(ALGraph mg)for(int i=1 ;i=mg.vexnum;i+)if(visitedi=false) DFS(mg,i);,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号