深度优先遍历(邻接矩阵).doc_第1页
深度优先遍历(邻接矩阵).doc_第2页
深度优先遍历(邻接矩阵).doc_第3页
深度优先遍历(邻接矩阵).doc_第4页
深度优先遍历(邻接矩阵).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 上机实验报告 学 院: 计算机与信息技术学院专 业: 计算机科学与技术(师范)课程名称: 数据结构实验题目:深度优先遍历(邻接矩阵)班级序号: 师范1班学 号: 201421012731 学生姓名: 邓雪指导教师: 杨红颖完成时间:2015年12月25号 1、 实验目的:1掌握图的基本概念和邻接矩阵存储结构。2掌握图的邻接矩阵存储结构的算法实现。 3掌握图在邻接矩阵存储结构上遍历算法的实现。二、实验环境: Windows 8.1 Microsoft Visual c+ 6.02、 实验内容及要求:编写图的深度优先遍历邻接矩阵算法。建立图的存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。四、概要设计:深度优先搜索遍历类似于树的先根遍历,是树的先根遍历的推广。假设初始状态是图中所有的顶点未曾被访问,则深度优先遍历可从图的某个顶点V出发,访问此顶点,然后依次从V的未被访问的邻接点出发深度优先遍历图,直至图中所有和V有路径相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中的一个未被访问的顶点,重复上述过程,直至图中所有顶点都被访问到为止。 以图中无向图G4为例,深度优先遍历图的过程如图所示。假设从顶点V1出发进行搜索,在访问了顶点V1后,选择邻接点V2。因为V2未曾访问,则从V2出发进行搜索。依次类推,接着从V4,V8,V5出发进行搜索。在访问了V5之后,由于V5的邻接点已都被访问,则搜索回到V8。由于同样的理由,搜索继续回到V4,V2直至V1,此时由于V1的另一个邻接点为被访问,则搜索又从V1到V3,再继续进行下去。由此得到顶点的访问序列为: V1V2V4 V8V5V3V6V7五、代码#include #include #define n 8#define e 9typedef char vextype;typedef float adjtype;int visitedn;/定义结构体typedef struct nodevextype vexsn;adjtype arcsnn;graph;graph *ga;/建立无向网络void CREATGRAPH()int i,j,k;float w;printf(请输入各个顶点:);for(i=1;ivexsi=getchar();getchar();for(i=1;i=n;i+)for(j=1;jarcsij=0;printf(n请输入边及其的权:(从1开始输入)n);for(k=0;karcsij=w;ga-arcsji=w;/深度优先遍历void DFS(int i)int j;printf(node:%cn,ga-vexsi);visitedi=1;for(j=1;jarcsij=1)&(!visitedj)DFS(j);/主函数void main()ga=(graph *)malloc(sizeof(graph);CREATGRAPH();DFS(1);六、运行界面七、实验中遇到的问题及总结已经在广度优先遍历中遇到过的问题这次没有再发生,不过最开始出现了一些小问题,花费了很长的时间。通过这几次实验,我变得更加的耐心认真。在以后的学习中我一定会更加努力。八、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论