图的基本操作.doc

图的基本操作.doc

ID:52689707

大小:139.00 KB

页数:17页

时间:2020-03-29

图的基本操作.doc_第1页
图的基本操作.doc_第2页
图的基本操作.doc_第3页
图的基本操作.doc_第4页
图的基本操作.doc_第5页
资源描述:

《图的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、哈尔滨工业大学计算机科学与技术学院实验报告课程名称:数据结构课程类型:必修实验项目名称:第三次实验实验题目:图的基本操作班级:10803102学号:1080310225姓名:陈虞付设计成绩报告成绩指导老师一、实验目的实现有向图、无向图的基本操作。二、实验要求及实验环境实验要求:实现有向图、无向图的基本操作(建立连接表,邻接矩阵,深度优先搜索,广度优先搜索等)。实验环境:windows平台、code::blocks集成开发环境。三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)1.逻辑设计主程序的流

2、程:定义邻接表gl、bool型数组visited[]。程序开始时,先初始化邻接表,然后提示图是否有向,输入选择,调用MainMenue()函数到主菜单的选择界面,根据输入的选择调用相应的函数、实现相应的逻辑功能。2.物理设计程序功能:以文件方式方式输入的无/有向图,实现无/有向图的邻接表、邻接矩阵求解及对图的深度优先遍历、广度优先遍历操作。输入:将要求解的无/有向图按规则输入对应的文件输出:通过主菜单的选择,按需实现对图的各种操作,显示结果并保存到相应的文件中。源程序说明:头文件:graphics.h函数实现:graphics.cpp主函

3、数:main.cpp存放的文件说明:无向图:graphics1.txt存放格式为第一行存放图的顶点数n,边数b,下面每行存放两个相邻顶点:Vi,Vj有向图:graphics2.txt存放格式为第一行存放图的顶点数n,下面每行存放两个相邻顶点Vi-->Vj:Vi,Vj无向图邻接表:adjlist1.txt有向图邻接表:adjlist2.txt无向图邻接矩阵:adjmatrix1.txt有向图邻接矩阵:adjmatrix2.txt所有抽象数据类型的定义如下://定义邻接表的边节点类型structEdgeNode{intadjvex;EdgeN

4、ode*next;};//定义邻接表类型typedefEdgeNode**ADJLIST;各模块的具体实现程序是:Graphicscpp各模块的的功能及参数说明:graphics.h如下://对图操作的主菜单voidMainMenue();//初始化邻接表voidInitialAdjList(ADJLIST&GL,intn);//以文件方式输入图//boolInputGraphics();//建立图的邻接表voidCreatAdjList(ADJLIST&GL,int&n,intm);//建立图的邻接矩阵voidCreatAdjMatri

5、x(ADJLIST&GL,int&n,intm);//从初始点出发深度优先搜索由邻接表GL表示的图voidDFSAdjList(ADJLISTGL,bool*&visited,inti,intn);//从初始点出发广度优先搜索由邻接表GL表示的图voidBFSAdjList(ADJLISTGL,bool*&visited,inti,intn);四、测试结果1、图是否有向的选择、主菜单界面:2、建立邻接表的测试结果:1、建立邻接矩阵的测试结果:2、广度优先搜索的测试结果:1、深度优先搜索的测试结果:2、退出界面:五、系统不足与经验体会系统不

6、足:异常处理不够健壮,不能够用很形象的方式打印图的直观图。经验体会:通过这次实验使我对图有了比较深入的了解,熟悉了图的基本操作,同时也感受到了看似简单的程序实现,真正做起来很费劲,有很多的困难需要去克服。五、附录:源代码(带注释)graphics.h源代码如下:#ifndefGRAPHICS_H#defineGRAPHICS_HstructEdgeNode{intadjvex;EdgeNode*next;};//定义邻接表的边节点类型//定义邻接表类型typedefEdgeNode**ADJLIST;//对图操作的主菜单voidMainM

7、enue();//初始化邻接表voidInitialAdjList(ADJLIST&GL,intn);//以文件方式输入图//boolInputGraphics();//建立图的邻接表voidCreatAdjList(ADJLIST&GL,int&n,intm);//建立图的邻接矩阵voidCreatAdjMatrix(ADJLIST&GL,int&n,intm);//从初始点出发深度优先搜索由邻接表GL表示的图voidDFSAdjList(ADJLISTGL,bool*&visited,inti,intn);//从初始点出发广度优先搜索

8、由邻接表GL表示的图voidBFSAdjList(ADJLISTGL,bool*&visited,inti,intn);#endifGraphics.cpp源代码如下:#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。