- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西北师范大学地环学院地理信息系 数据结构实验讲义 十 图的存储与深度优先遍历 张长城 2011-2-8
[图存储以及深度优先遍历算法分析,C语言实现]
实验任务描述
1 用C语言邻接矩阵完成图的存储;
2 分析深度优先遍历算法;
3 用C语言实现图的深度优先遍历;
4 深度优先遍历应用:图的关节点计算。
邻接矩阵存储图的深度优先遍历过程分析
对图1这样的无向图,要写成邻接矩阵,则就是下面的式子
图 1
顶点矩阵:V= 弧长矩阵: A=
一般要计算这样的问题,画成表格来处理是相当方便的事情,实际中计算机处理问题,也根本不知道所谓矩阵是什么,所以画成表格很容易帮助我们完成后面的编程任务。在我们前面介绍的内容中,有不少是借助着表格完成计算任务的,如Huffman树。
V1(1) V2(2) V3(3) V4(4) V5(5) V6(6) V7(7) V8(8) V1 (1) 0 1 1 0 0 0 0 0 V2 (2) 1 0 0 1 1 0 0 0 V3 (3) 1 0 0 0 0 1 1 0 V4 (4) 0 1 0 0 0 0 0 1 V5 (5) 0 1 0 0 0 0 0 1 V6 (6) 0 0 1 0 0 0 1 0 V7 (7) 0 0 1 0 0 1 0 0 V8 (8) 0 0 0 1 1 0 0 0 表1 图1的邻接矩阵表 为了记录那些顶点是已经走过的,还要设计一个表来标记已经走过的顶点,在开始,我们假设未走过的是0,走过的是1,于是有:
V1 V2 V3 V4 V5 V6 V7 V8 0 0 0 0 0 0 0 0 表2 图1的顶点访问表Visited 深度优先遍历过程如下:
(1)从第1行开始,寻找和V1相连的第1个顶点,首先在Visited表中标记V1被访问到,就是:
V1 V2 V3 V4 V5 V6 V7 V8 1 0 0 0 0 0 0 0 表3 图1的顶点访问表Visited 深度优先遍历步骤(1) 在该行,我们找到的第一个连接顶点是V2,找到V2顶点后,记录:V1-V2,意味着我们已经抵达V2,注意修改邻接矩阵表;
V1(1) V2(2) V3(3) V4(4) V5(5) V6(6) V7(7) V8(8) V1 (1) 0 1 1 0 0 0 0 0 V2 (2) 1 0 0 1 1 0 0 0 表4 图1的邻接矩阵表 深度优先遍历步骤(1)
(2)然后则转向V2顶点所在的行,意味着我们已经抵达V2,再次在Visited表中标记V2顶点已经被访问,就是:
V1 V2 V3 V4 V5 V6 V7 V8 1 1 0 0 0 0 0 0 表5 图1的顶点访问表Visited 深度优先遍历步骤(2) 然后,寻找连接V2的、并且是未被访问过的第一个顶点,就是V4:记录V2-V4;
V1(1) V2(2) V3(3) V4(4) V5(5) V6(6) V7(7) V8(8) V1 (1) 0 1 1 0 0 0 0 0 V2 (2) 1 0 0 1 1 0 0 0 V4 (4) 0 1 0 0 0 0 0 1 表6 图1的邻接矩阵表 深度优先遍历步骤(2)
(3)然后则转向V4顶点所在的行,意味着我们已经抵达V4,再次在Visited表中标记V4顶点已经被访问,就是:
V1 V2 V3 V4 V5 V6 V7 V8 1 1 0 1 0 0 0 0 表7 图1的顶点访问表Visited 深度优先遍历步骤(3) 然后则转向V4顶点所在的行,寻找连接V4的、并且是未被访问过的第一个顶点,就是V8:记录V4-V8;
V1(1) V2(2) V3(3) V4(4) V5(5) V6(6) V7(7) V8(8) V1 (1) 0 1 1 0 0 0 0 0 V2 (2) 1 0 0 1 1 0 0 0 V4 (4) 0 1 0 0 0 0 0 1 V8 (8) 0 0 0 1 1 0 0 0 表8 图1的邻接矩阵表 深度优先遍历步骤(3)
(4)然后则转向V8顶点所在的行,意味着我们已经抵达V8,再次在Visited表中标记V8顶点已经被访问,就是:
V1 V2 V3 V4 V5 V6 V7 V8 1 1 0 1 0 0 0 1 表9 图1的顶点访问表Visited 深度优先遍历步骤(4) 然后则转向V8顶点所在的行,寻找连接V8的、并且是未被访问过的第一个顶点,就是V5:记录V8-V5;
V1(1) V2(2) V3(3) V4(4) V5(5) V6(6) V7(7) V8(8) V1 (1) 0 1 1 0 0 0 0 0 V2 (2) 1 0 0 1 1 0 0
您可能关注的文档
- 第2-1课 电脑的大管家——操作系统讲解.ppt
- 流行歌曲中飞出的唐宋遗韵讲解.ppt
- 压力的来源与表现剖析.ppt
- 流力复习题讲解.docx
- 第2讲 七年级(上)Units 5~9讲解.ppt
- 第五章 SPSS参数检验讲解.ppt
- 同济大学钢结构基本原理(沈祖炎)课后习题答案完全版剖析.docx
- 机械传动与控制课程设计--上传讲解.doc
- 流量控制阀(修改)讲解.ppt
- 第2讲:企业重组、收购与兼并研究讲解.ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)