1、 数据结构设计性实验报告课程名称_数据结构实验 _ 题目名称 无向图 学生学院_ 计算机学院_ 专业班级_ 学 号_ _ 学生姓名_ _指导教师_ _ 2015 年 6 月 21 日一实验题目无向图(邻接数组实现)二环境及工具环境:c+工具:codeblock三存储结构定义头文件邻接数组边四算法设计1. 初始化 n 个顶点的空无向图2. 查找顶点 v 在图 G 中的位序3. 创建无向图4. 销毁图5. 取图 G 的 k 顶点的值到 w6. 对图 G 的 k 顶点赋值 w7. 求图 G 中 k 顶底的第一个邻接顶点的位序8. 求图 G 中 k 顶点相对于 m 顶点的下一个邻接顶点的位序 9.在图
2、中增加 k 顶点到 m 顶点的边或弧10.在图 G 中删除 k 顶点到 m 顶点的边或弧11.深度优先遍历图 G12.从图 G 中的 k 顶点出发进行深度优先遍历13.判断图 G 是否存在从顶点 s 到 t 的路径14.广度优先搜索图 G15.求图 G 中顶点 s 到各顶点的最短路径长度16.求图 G 中任意两点的最短路径17.用 Prim 算法从 s 顶点出发构造图 G 的最小生成树18.用 Kruskal 算法构造最小生成树五测试构造一个图:51 2 3 4 5 个顶点,6 条边。五个顶点:(1,2,3,4,5)边权为:(1,5)= 6;(1,3)= 2;(1,4)= 3;(2,5)=3;
3、(2,4)= 2;(2,3)= 1;初始化图:1. 初始化 n 个顶点的空无向图测试程序测试结果2. 查找顶点 v 在图 G 中的位序测试程序测试结果3. 创建无向图测试程序测试结果4. 销毁图测试程序测试结果5. 取图 G 的 k 顶点的值到 w测试程序测试结果6. 对图 G 的 k 顶点赋值 w测试程序测试结果7. 求图 G 中 k 顶底的第一个邻接顶点的位序测试程序测试结果8. 求图 G 中 k 顶点相对于 m 顶点的下一个邻接顶点的位序测试程序测试结果9. 在图中增加 k 顶点到 m 顶点的边或弧测试程序测试结果10. 在图 G 中删除 k 顶点到 m 顶点的边或弧测试程序测试结果11
4、. 深度优先遍历图 G测试程序测试结果12. 从图 G 中的 k 顶点出发进行深度优先遍历测试程序测试结果13. 判断图 G 是否存在从顶点 s 到 t 的路径测试程序测试结果14. 广度优先搜索图 G测试程序测试结果15. 求图 G 中顶点 s 到各顶点的最短路径长度测试程序测试结果16. 求图 G 中任意两点的最短路径测试程序测试结果17. 用 Prim 算法从 s 顶点出发构造图 G 的最小生成树测试程序测试结果18. 用 Kruskal 算法构造最小生成树测试程序测试结果六实验总结和体会本实验实现了无向图(邻接数组)的各种功能。通过我对函数块有了更深的理解,将功能分成多个函数进行实现,更有利于调试,单个查错测试,从而写出来庞大的程序。通过对各种功能的程序实现,我对无向图及其相关算法有了更深的理解,学到了很多东西。