已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上机实验报告 学 院: 计算机与信息技术学院专 业: 计算机科学与技术(师范)课程名称: 数据结构实验题目:广度优先遍历(邻接表)班级序号: 师范1班学 号: 201421012731 学生姓名: 邓雪指导教师: 杨红颖完成时间: 2015年12月25号1、 实验目的:1掌握图的基本概念和邻接表存储结构。2掌握图的邻接表存储结构的算法实现。 3掌握图在邻接表存储结构上遍历算法的实现。二、实验环境: Windows 8.1 Microsoft Visual c+ 6.02、 实验内容及要求:编写图的广度优先遍历算法。四、概要设计:先定义图的邻接表数据,建立该图的邻接表,然后在用子函数写出广度优先搜索遍历的遍历算法,最后用主函数调用它们。 实现广度优先搜索遍历可以利用队列的原理。利用队列先进先出的特性,并设置访问标志实现连通图的广度优先搜索遍历。 广度优先搜索遍历类似于树的按层次遍历,对于用邻接表做存储结构的图,从某个给定顶点出发的图的遍历得到的访问结点顶点次序,随建立的邻接表的不同而可能不同。 将每个结点的边用一个单边表链接起来组成一个整体。所有头结点可看成一个一维数组,即邻接表所有链表中结点数目的一半为图中边数。占用的存储单元数目为n+2e。 抽象算法描述: (1)访问顶点i,并将其访问标志置为已被访问,即visitedi=true。(2)依次访问与标点i有边相连的所有顶点w1,w2-wt。(3)再按次序访问与w1,w2-wt有边相连且未曾访问过的顶点。(4)依此类推,直到图中所有顶点都被访问完。五、代码:#include #include #define maxsize 1024#define n 8#define e 9typedef char datatype;typedef char vextype;/定义结构体typedef structint datamaxsize;int front,rear;sequeue;/定义结构体typedef struct nodedatatype adjvex;struct node *next;edgenode;/定义结构体typedef structvextype vertex; edgenode *link;vexnode;sequeue *Q;vexnode gan;int visitedn;sequeue *sq;/建立无向图的邻接表void CREATADJLIST(vexnode ga)int i,j,k;edgenode *s;printf(读入树的结点信息:);for(i=0;in;i+)gai.vertex=getchar();gai.link=NULL;printf(读入边(vi,vj)的顶点对序号:);for(k=0;kadjvex=j;s-next=gai.link;gai.link=s;s=(edgenode *)malloc(sizeof(edgenode);s-adjvex=i;s-next=gaj.link;gaj.link=s;/置空队void SETNULL(sequeue *sq)sq-front=maxsize-1;sq-rear=maxsize-1;/判队空int EMPTY(sequeue *sq)if(sq-rear=sq-front)return 1;elsereturn 0;/入队int ENQUEUE(sequeue *sq,datatype x)if(sq-front=(sq-rear+1)%maxsize)printf(queue is full);return NULL;elsesq-rear=(sq-rear+1)%maxsize;sq-datasq-rear=x;return 1;/出队datatype DEQUEUE(sequeue *sq)if(EMPTY(sq)printf(queue is empty);return NULL;elsesq-front=(sq-front+1)%maxsize;return (sq-datasq-front);/广度优先遍历void BFSL(int k)int i;edgenode *p;Q=(sequeue *)malloc(sizeof(sequeue);SETNULL(Q);printf(%cn,gak.vertex);visitedk=1;ENQUEUE(Q,k);while(!EMPTY(Q)i=DEQUEUE(Q);p=gai.link;while(p!=NULL)if(!visitedp-adjvex)printf(%cn,gap-adjvex.vertex);visitedp-adjvex=1;ENQUEUE(Q,p-adjvex);p=p-next;void main()CREATADJLIST(ga);BFSL(0);六、运行界面七、实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零工市场运营方案方案
- 烧烤店开店策划书方案
- 汽车轻量化技术的研究与进展
- 企业人力资源管理者职业发展问题研究开题报告
- 早餐合作运营方案
- 人才招聘可行性分析报告-20250128-152251
- 智能物流建设规划方案
- 2025年中国复合式排气阀行业市场发展态势及投资前景可行性报告
- 2025年中国大肠水疗仪行业市场专项调研及投资前景可行性预测报告
- 2025年中国射流曝气设备行业市场前景预测及投资价值评估分析报告
- 2025山东德德州天衢建设发展集团有限公司招聘工作人员20人笔试考试参考试题及答案解析
- 2025年酉阳土家族苗族自治县辅警招聘考试真题附答案详解(满分必刷)
- 2025-2026学年河南省天一大联考高一上学期9月月考历史试题
- 标准离婚协议书文档模板
- 装修挂靠协议合同范本
- 爱情合同协议电子合同
- 2025年高考生物试题(重庆卷) 含答案
- 拆除工程专项方案
- 2025年全国低压电工证理论考试笔试试题(200题)附答案
- 2026环艺省考试题及答案
- Unit4+Exploring+Poetry+Reading+课件-2025-2026学年高中英语译林版选择性必修第一册
评论
0/150
提交评论