实验报告:图的存储结构和遍历(共8页).doc
《实验报告:图的存储结构和遍历(共8页).doc》由会员分享,可在线阅读,更多相关《实验报告:图的存储结构和遍历(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上武汉东湖学院实 验 报 告学院: 计算机科学学院 专业 计算机科学与技术 2016年 11月18日姓 名付磊学 号42班 级计科一班指导老师吴佳芬课程名称数据结构成绩实验名称图的存储结构和遍历1实验目的(1)了解邻接矩阵存储法和邻接表存储法的实现过程。(2)了解图的深度优先遍历和广度优先遍历的实现过程。2实验内容1. 采用图的邻接矩阵存储方法,实现下图的邻接矩阵存储,并输出该矩阵.2. 设计一个将第1小题中的邻接矩阵转换为邻接表的算法,并设计一个在屏幕上显示邻接表的算法3. 实现基于第2小题中邻接表的深度优先遍历算法,并输出遍历序列4. 实现基于第2小题中邻接表的广度
2、优先遍历算法,并输出遍历序列3实验环境Visual C+ 6.04实验方法和步骤(含设计)我们通过二维数组中的值来表示图中节点与节点的关系。通过上图可知,其邻接矩阵示意图为如下:V0 v1 v2 v3 v4 v5V0 0 1 0 1 0 1V1 1 0 1 1 1 0V2 0 1 0 0 1 0V3 1 1 0 0 1 1V4 0 1 1 1 0 0V5 1 0 0 1 0 0此时的“1”表示这两个节点有关系,“0”表示这两个节点无关系。 我们通过邻接表来在计算机中存储图时,其邻接表存储图如下:5程序及测试结果# include # include int visited 6;typedef
3、struct int a66; int n;mgraph;typedef struct ANode int adjvex;struct ANode *nextarc;ArcNode;typedef struct Vnode ArcNode *firstarc;VNode;typedef VNode AdjList6;typedef struct AdjList adjlist; int n;ALGraph;void mattolist (mgraph g,ALGraph *&G) int i,j; ArcNode *p; G=(ALGraph*)malloc(sizeof(ALGraph);
4、for(i=0;iadjlisti.firstarc=NULL; for(i=0;i=0;j-) if(g.aij!=0) p=(ArcNode*)malloc(sizeof(ArcNode); p-adjvex=j; p-nextarc=G-adjlisti.firstarc; G-adjlisti.firstarc=p; G-n=g.n;void dispadj(ALGraph *G) int i; ArcNode *p;for(i=0;in;i+) p=G-adjlisti.firstarc; printf(%d:,i); while (p!=NULL) printf(%d ,p-adj
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 存储 结构 遍历
限制150内