




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单元复习与测试说课稿-2025-2026学年高中政治沪教版上海高中一年级第一学期-沪教版上海
- 2023七年级英语上册 Unit 1 My name's Gina第2课时说课稿(新版)人教新目标版
- 水乡船歌教学设计-2023-2024学年小学音乐四年级下册人音版(主编:曹理)
- 任务三 小挂件我制作教学设计-2025-2026学年小学劳动浙教版二年级下册-浙教版
- 现代康养产业的社区生态化建设探索
- 古代玄学考试题目及答案
- 甘肃政府招考试题及答案
- 复工练车考试题及答案
- 分离器考试题及答案
- 人工智能技术优化流通企业供应链管理
- 养老护理员中级考试题库2025年(附答案)
- 2024年河北石家庄交通投资发展集团有限责任公司招聘考试真题
- 公安援疆工作总结
- 湖南省益阳市2026届高三9月教学质量监测数学试题(含答案)
- 第8课《网络新世界》第一课时-统编版《道德与法治》四年级上册教学课件
- 2025秋人教版美术七年级第一单元 峥嵘岁月第1课 情感表达2
- 装饰工程拆除施工方案(3篇)
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 2025年招聘市场年中洞察报告-瀚纳仕
- 物业管理人员考核制度及标准
- 2025宁波写字楼租赁市场半年度研究报告-中艾世联
评论
0/150
提交评论