实验六 图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六图的操作
一、实验目的
1.掌握图的基本存储方法;
2.掌握有关图的操作算法并加以实现;
3.熟练掌握图的两种搜索路径的遍历方法。
二、实验原理
图是一种比树更为复杂的数据结构。图的逻辑结构是数据元素之间多对多的联系,在图中的每一个结点都可能和其它的结点相关联。图的应用范围十分广泛,诸如电子线路分析、系统工程、寻找最短路径、人工智能、计算机科学、控制论等领域。
通常有两种遍历图的方法:深度优先搜索(DFS)遍历和广度优先搜索(BFS)遍历。深度优先搜索类似于树的先序遍历,是树的先序遍历的推广,是一个递归过程。广度优先遍历类似于树的按层次遍历过程。
最小生成树是用于构造连通图的最小代价生成树,在交通、通信等领域有着广泛的应用,最小生成树有着很多种算法,典型的有Prim 算法和Kruskal 算法。
从单个源点到其余各顶点的最短路径算法的应用比较广泛,尤其是在交通联系方面。典型的实现算法有Dijkstra 算法。
三、实验内容
对图1-图3,实现以下操作,记录并分析相应的实验结果(4、5为选作):
1.输出相应图的邻接矩阵;
2.输出相应图的DFS结果;
3.输出相应图的BFS结果。
4.对图3,用Dijkstra算法求出其单源最短路径;
5.对图3,用Prim算法求出其最小生成树。
四、实验步骤
1.定义图的邻接矩阵存储形式;
2.按照流程图1所示,输出图1-图3的邻接矩阵表示法结果;
3.按照流程图2所示,实现图的DFS算法。
4.其他自行设计
五、实验提交资料
1.算法思想描述(或源代码)
2.测试结果与分析
3.收获与体会
要求:将以上资料收集齐后,撰写实验报告。
提交方式:以小组名为文件夹名,将实验源代码(项目名作为文件名)及实验报告(学号+姓名作为文件名),按照要求提交至ftp://10.10.240.14/作业1/数据结构(苑)/ 中对应的文件夹中。