实验五 图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五、图
一、实验项目名称
图的存储遍历
二、实验目的
(1)了解熟知图的定义和图的基本术语,掌握图的几种存储结构。
(2)掌握灵界矩阵和邻接表定义的特点,并通过实例解析掌握邻接矩阵和邻接表的类型定义。
(3)掌握图的遍历定义、复杂性分析及应用,并掌握图的遍历方法及其基本思想。
三、实验要求
(1)认真阅读和掌握和本实验相关的教材内容。
(2)掌握图的创建方法。
(3)掌握图的深度优先搜索和广度优先搜索方法。
四、实验原理
C/C++程序设计基本原理
五、实验内容
(1)建立无向图的邻接矩阵或邻接表。
(2)图的深度优先搜索。
(3)图的广度优先搜索。
(4)编写测试主函数并上机运行。
打印出运行结果,并结合程序运行结果进行分析。
Part1:邻接表存储及遍历(侧重)
1.邻接表的定义
2.准备一个重要工具—定位函数:返回顶点在图中位置
3.邻接表的创建
4.图的深度优先遍历算法(DFS)
5.图的广度优先遍历算法
6.打印邻接表
代码测试与结果:
通过主函数,建立如有所示的有向图,并调用以上所有函数,测试其正确性并分析程序的运行结果。
主函数测试:
PartII:图的邻接矩阵存储和遍历
1.邻接矩阵的类型
2.遍历矩阵要用的数据容器
3.创建邻接矩阵
4.深度优先遍历
5.广度优先遍历
代码测试与结果:
通过主函数,建立如有所示的有向图,并调用以上所有函数,测试其正确性并分析程序的运行结果。
六、实验心得
本次图上机实习,因为深度优先遍历与广度优先遍历用到了队列
和栈,复习了原来的知识,同时也尝试将这两类基础函数作为头文件
使用,收货颇丰。
同时在写线索二叉树时,遇到了一些理解困难,因
为上课时这个知识点没怎么听,意识到了上课认真听讲的重要性,同
时也要加强动手实践,拓宽知识面。
面对困难,比如说比较难懂的知识点,不要灰心,要坚持,在坚
持不住时再坚持一下,你便做到了常人不能做到的事情,这才是成功
者该有的品质。
我觉得自己要多努力,要见贤思齐,见不贤而内自省,
才能让自己不再是井底之蛙,才能使自己的大学生活变得更充实。
好
的生活习惯和学习习惯也是很重要的。
希望通过自己一次一次的反省
和思考,能够学好专业知识和完善自己的品格。