




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告课程名称 数据结构实验 实验项目 实现深度优先搜索与广度优先搜索算法 专业班级 计算机科学与技术1班 姓 名全永春 学 号 2011314103 指导教师 成 绩 日 期 一、目的与要求1、通过本实验,掌握图,无向图的基本概念,掌握图的遍历。 2、掌握图的深度优先搜索(DFS)与广度优先搜索(BFS)算法。 二、实验内容 1、建立图的几种存储方式2、图的深度优先搜索算法3、图的广度优先搜索算法三、实验原理 图的遍历是图的算法中一种非常重要的算法,通过建立图的存储结构,采用深度优先搜索与广度优先搜索算法可以进行图的遍历。广度优先遍历与深度优先遍历的区别在于:广度优先遍历是以层为顺序,将某一层上的所有节点都搜索到了之后才向下一层搜索;而深度优先遍历是将某一条枝桠上的所有节点都搜索到了之后,才转向搜索另一条枝桠上的所有节点。 四、实验步骤1建立图的存储结构。2输入图的基本接点与信息,完成初始化图的工作。3完成图的深度优先搜索(DFS)和广度优先搜索算法,可以采用菜单形式进行显示与选择。(可以在键盘输入边的信息以构建一个无向图。以(a,b)的形式输入边的信息;对此无向图进行深度优先搜索,并输出正确的序列。)#include#include#define max 20typedef int Date ;typedef char Info ;typedef struct bian/边的数据结构int zhi;/Info info;struct bian * N;bian;typedef struct /节点数据结构int i ;bian *F;Vex;typedef struct /用来作队列,栈int top;int button;int a100;S;S s;Vex vmax+1;/节点个数bian *bu;int n,e;void create()/创建图 bian *b;int i,v1,v2;void memo();printf(请输入节点个数N,边数En);printf( 节点个数Nn);printf( );scanf(%d,&n);printf( 边数En);printf( );scanf(%d,&e);printf(请输入节点信息n);for(i=1;i=n;i+)scanf(%d,&vi.i);for(i=1;i=n;i+)vi.F=0;printf(请输入边n);printf( 起点 终点 n);for(i=1;izhi=v2;b-N=vv1.F;vv1.F=b;b=(bian *)malloc(sizeof(bian);b-zhi=v1;b-N=vv2.F;vv2.F=b;memo();int pmax;void vist(int i)printf(%d ,vi.i);printf(- );void aa()/查看表结构void memo();int i,j;bian* b;printf( num DAte next next next .n );for(i=1;izhi;printf(%d ,vj.i);b=b-N;printf(n);printf(n);memo();int f(int i)/返回没有被访问过的I的节点int j=0;bu=vi.F;while(bu!=0)if(pbu-zhi=0)j=bu-zhi;break; bu=bu-N;return j;void dfst(int i)/深度优先搜索int j,t;if(pi=0)vist(i);pi=1;s.a+s.top=i;while(s.top!=0)t=s.as.top;j=f(t);if(j!=0)dfst(j);else s.top=s.top-1;void ss()void memo();int i,j;s.top=0;for(i=1;i=n;i+)pi=0;printf(请输入搜索起点in);scanf(%d,&i);printf(遍历次序:);for(;i=n;i+)if(pi=0)dfst(i);for(i=1;izhi;bu=bu-N;if(pj=0)fst(j);void wfst()void memo();int j,i;s.button=s.top=0;for(i=1;i=n;i+)pi=0;printf(请输入搜索起点in);scanf(%d,&i);printf(遍历次序:);for(;i0)fst(j);elses.button=s.button+1;for(i=1;i0)fst(j);elses.button=s.button+1;printf(n);memo();void memo()/菜单显示int i;printf(1.创建无向图 2.深度优先搜索 3.广度优先搜索 4.查看邻接表逻辑结构 5.退出n);printf(请输入相应数字选择所需操作n);scanf(%d,&i);switch(i)case 1:create();break;case 2:ss();break;case 3:wfst();break;case 4:aa();break;case 5: exit(1);break;void main()memo();五、运行结果六、实验体会这堂Huffman编码以及解码的数据结构实验课让我对数据结构的整体学习有了进一步的了解,刚开始的时候稍微有点迷茫,但是循序渐进,一点点了解了这堂课的内容,经历过不少错误之后,到最后熟悉二叉树、Huffman树的基本概念,掌握二叉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃数学中考试题及答案
- 2025工业用地转让合同样本
- 翡翠鉴定师考试题及答案
- 方城物理中考试题及答案
- 多声部考试题目及答案
- 东平英语中考试题及答案
- 2025智能手机采购合同范本
- 电子维修必考试题及答案
- 中国起重机械件行业市场前景预测及投资价值评估分析报告
- 中国面包改良剂项目创业计划书
- 水稳层施工工艺流程与施工进度管理
- 幼儿乘坐高铁的安全指南
- 《数据中心铅酸蓄电池应用技术规程》
- 电力设备维护作业指导书
- 《数字故事培训》课件
- 中班科学教案可乐加盐
- 1.1 公有制为主体 多种所有制共同发展 课件-高中政治统编版必修二经济与社会
- 2024年新人教版五年级数学上册《教材练习9练习九》教学课件
- 晋升现实表现材料范文四篇
- 综测《中国近代史纲要》1-300 单选题附有答案
- 2024至2030年天津市大健康产业市场运行及投资策略咨询报告
评论
0/150
提交评论