下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图遍历操作实验报告 实验报告 姓名: 班级: 12 南航网络 学号: 实验 题目 图的遍历操作 实验时间 2021-11-27 实验地点 指导教师 尚鲜莲 实验目的与要求: 目的:熟练掌握图的的两种存储结构;熟练掌握图的深度优先遍历和广度优先遍历算法;能解决简单的应用问题。 要求: 分别采用邻接矩阵和邻接表存储结构,完成图的深度优先遍历(dfs)和广度优先遍历(bfs)的操作。搞清楚 bfs 算法中队列的作用。 需求分析和实现功能说明: : 在 test4.c 中填写入相应语句,使之能顺利完成图的深度优先和广度优先遍历操作。测试数据为:无向图 gl,v=v0,v1,v2,v3,v4 ,e=(
2、v0,v3),(v1,v2),(v1,v3),(v1,v4),(v2,v4),(v3,v4),起始顶点为v0。 将空缺语句补充完整,并写出输出结果。 ) 算法设计(最好给出流程图): : 算法程序(源程序代码) #define vex_num 5 #define maxsize 10 #include stdio.h typedef char vextype; typedef struct vextype vexsvex_num; int arcsvex_numvex_num; mgraph; typedef struct vextype elemvex_num; int front,rear
3、; sueue; sueue q; int visitedvex_num=0; void creat_mgraph( mgraph *g,int e); void dfs_m( mgraph *g,int i); void bfs( mgraph *g,int k); void initqueue(sueue *sq); int enqueue(sueue *sq,vextype x); int delqueue(sueue *sq,vextype *y); int queueempty(sueue *sq); void main() int e,i,j; mgraph *g; printf(
4、qing shu ru wu xiang tu bian de shu mu); scanf(%d,e); creat_mgraph(g,e); printf(qing shu ru bian li de qi shi ding dian); scanf(%d,i); dfs_m(g,i); for (j=0;jvex_num;+j) visitedj=0; bfs(g,i); void creat_mgraph( mgraph *g,int e) int i,j,k; printf(shu ru ge ding dian xin xi:); for (i=0;ivex_num;+i) /*
5、scanf(%c,g-vexsi);*/ g-vexsi=getch(); for(i=0;ivex_num;+i) printf(%d %cn ,i,g-vexsi); /*getch();*/ for (i=0;ivex_num;+i) for (j=0;jvex_num;+j) g-arcsij=0; printf(shu ru ge bian de ding dian xu hao i,j:); for(k=0;ke;k+) scanf(%d,%d,i,j); g-arcsij=1;g-arcsji=1; /* creat_mgraph */ void dfs_m( mgraph *g
6、,int i) int j; printf(%3c,g-vexsi); visitedi=1; for (j=0;jvex_num;j+) if(g-arcsij=1) (!visitedj) dfs_m(g,j); /*dfs_m */ void bfs( mgraph *g,int k) int x,i,j; sueue *q; initqueue(q); printf(%3c,g-vexsk); visitedk=1; x=enqueue(q,g-vexsk); while(!queueempty(q) x=delqueue(q,g-vexsi); for(j=0;jvex_num;j+
7、) if(g-arcsij=1) (!visitedj) printf( %3c,g-vexsj); visitedj=1; x=enqueue(q, g-vexsj); /*bfs*/ void initqueue(sueue *sq) sq-front=sq-rear=0; /* initqueue*/ int enqueue(sueue *sq,vextype x) if( (sq-rear+1) % maxsize = sq-front) return 0; sq-elemsq-rear=x; sq-rear=(sq-rear+1) % maxsize; return 1; printf(sq-rear is :%dn,sq-rear); /* enqueue*/ int delqueue(sueue *sq,vextype *y) if(sq-front=sq-rear) return 0; *y=sq-elemsq-front; sq-front=(sq-front+1) % maxsize ; return 1; /* delqueue*/ int queueempty(sueue *sq) return (sq-front=sq-rear); 上机调试情况说明(包括调试数据、调试过程中遇到的问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023六年级数学下册 二 圆柱和圆锥第四课时 圆柱的体积教案 苏教版
- 租赁仓库合同(2篇)
- 自担风险的合同(2篇)
- 西南林业大学《城市规划原理》2021-2022学年第一学期期末试卷
- 西京学院《艺术鉴赏》2021-2022学年第一学期期末试卷
- 西京学院《摄影摄像基础》2021-2022学年第一学期期末试卷
- 别克新一代君威按键操作课件
- 西京学院《电子系统综合设计实训》2021-2022学年期末试卷
- 风力发电 课件
- 浣溪沙课件图片
- 锁骨下动脉 (1)讲解
- 退役军人就业培训课件
- TCLPA 002.1-2023 静脉用药调配中心评估规范 第1部分:标准化文件框架及编写规则
- 20世纪时尚流行文化智慧树知到期末考试答案2024年
- 第四章-国防动员
- 北师大版五年级下册数学分数除法练习100题及答案
- 体育赛事与城市发展协同研究
- 系统升级报告
- 财务会计理论 第7版 课件 第9、10章 冲突分析、管理人员薪酬
- 保安服务管理条例讲座课件
- 甘肃省安全员-C证考试(专职安全员)题库附答案
评论
0/150
提交评论