版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与工程学院计算机科学与工程学院《算法与数据结构》实验报告 《算法与数据结构》实验报告 计算机科学与工程学院《算法与数据结构》实验报告(七)专业班级2017级实验地点503机房学生学号1710050108指导教师姚峰学生姓名刘政林实验时间20XX-XX-XX实验项目图的应用一实验类别基础性()设计性(Q综合性()其它()实验(1)熟练掌握图的基本存储方法;目(2)熟练掌握图的深度优先和广度优先搜索方法。的及要求成绩评定表类别评分标准分值得分合计上机表现积极出勤、遵守纪律按要求完成设计任务30分程序与报告程序代码规范、功能正确报告详实完整、体现收获70分说明:评阅教师: 姚峰日期:Z0—年 月 日实验内容实验内容:图的两种遍历方法及对应的生成树。自己编写源程序,把图的深度优先遍历、广度优先遍历改为输出深度优先生成树、广度优先生成树。实验说明:(1)读懂教师给定的程序或课本的程序;(2)输入图;(3)把显示遍历序列改为显示深度优先、广度优先生成树。#include<stdio.h>#include<malloc.h>#defineMAXV100#defineINF1024typedefintInfotype;typedefstruct{intno;Infotypeinfo;}Vertextype;typedefstruct{intedges[MAXV][MAXV];intn,e;Vertextypevexs[MAXV];}Mgraph;typedefstructAnode{intadjvex;structAnode*nextarc;Infotypeinfo;}Arcnode;typedefintVertex;typedefstructVNode{Vertexdata;Arcnode*firstarc;}Vnode;typedefVnodeAdjlist[MAXV];typedefstruct{Adjlistadjlist;intn,e;}Algraph;voidMattolist(Mgraphg,Algraph*&G){inti,j;Arcnode*p;G=(Algraph*)malloc(sizeof(Algraph));for(i=0;i<g.n;i++)G->adjlist[i].firstarc=NULL;for(i=0;i<g.n;i++)for(j=g.n-1;j>=0;j--)if(g.edges[i][j]!=0){p=(Arcnode*)malloc(sizeof(Arcnode));p->adjvex=j;p->nextarc=G->adjlist[i].firstarc;G->adjlist[i].firstarc=p;}G->n=g.n;G—>e=g.e;}voidDispadj(Algraph*G){inti;Arcnode*p;for(i=0;i<G->n;i++){p=G->adjlist[i].firstarc;printf("%3d:",i);while(p!=NULL){printf("%3d",p->adjvex);p=p->nextarc;}printf("\n");}}intvisited[MAXV];voidDFS(Algraph*G,intv){Arcnode*p;visited[v]=1;p=G->adjlist[v].firstarc;while(p!=NULL){if(visited[p->adjvex]==0){printf("<%d,%d>",v,p->adjvex);DFS(G,p->adjvex);}p=p->nextarc;}}voidBFS(Algraph*G,intv){Arcnode*p;intqueue[MAXV],front=0,rear=0;intw,i;for(i=0;i<G->n;i++)visited[i]=0;visited[v]=1;rear=(rear+1)%MAXV;queue[rear]=v;whilefront!=rear){front=(front+1)%MAXV;w=queue[front];p=G->adjlist[w].firstarc;while(p!=NULL){if(visited[p->adjvex]==0){printf("<%d,%d>",w,p->adjvex);visited[p->adjvex]=1;rear=(rear+1)%MAXV;queue[rear]=p->adjvex;}p=p->nextarc;}}printf("\n");}voidmain(){inti,j;Mgraphg;Algraph*G;intA[MAXV][n]={{0,1,1,1,0,0,0,0,0,0,0},{1,0,0,0,1,1,0,0,0,0,0},{1,0,0,1,0,1,1,0,0,0,0},{1,0,1,0,0,0,0,1,0,0,0},{0,1,0,0,0,0,0,0,0,0,0},{0,1,1,0,0,0,0,0,0,0,0},{0,0,1,0,0,0,0,1,1,1,0},{0,0,0,1,0,0,1,0,0,0,1},{0,0,0,0,0,0,1,0,0,0,0},{0,0,0,0,0,0,1,0,0,0,0},{0,0,0,0,0,0,0,1,0,0,0}};g.n=11;g.e=13;for(i=0;i<g.n;i++)for(j=0;j<g,n;j++)g.edges[i][j]=A[i][j];G=(Algraph*)malloc(sizeof(Algraph));Mattolist(g,G);printf("图G的邻接表:\n");Dispadj(G);
printf("\n");for(i=0;i<g.n;i++)visited[i]=0;printf("深度优先生成树:");DFS(G,0);printf("\n");for(i=0;i<g.n;i++)visited[i]=0;printf("广度优先生成树:");BFS(G,0);printf("\n");}图G的邻接表;0:61:0452;36103:0274:15:126:27897:03568:1239:610:7:<0,6><6,2><2,3><3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆承租协议
- 借款担保合同简单版协议书完整版
- 进口货物买卖协议
- 出版合同(台港澳版权)新
- 行政事业单位仪器设备租赁合同书
- 湖南省2024年七年级上学期期中考试数学试题【附答案】
- 07FD01防空地下室电气设计示例
- 安徽省滁州市2023-2024学年高一下学期期末考试政治
- 人教版高中化学选修五试题第五章进入合成有机高分子化合物的时代第3节
- 单元素养评价(四)
- 人教版九年级 Unit7 Teenagers should be allowed to choose their own clothes.教学设计
- 数据中心施工组织设计
- 危险废物综合处置场改扩建工程安全预评价报告
- DB13(J)∕T 8056-2019 市政给水管道工程施工质量验收标准
- 部编版三年级上册语文 期中检测卷(一)
- 泥炭基本知识
- 26个英文字母幼儿学习卡片可打印
- 北京语言大学外语专业综合水平测试英语历年真题版
- 物业工程部危险源辨识、评价与控制措施表
- 高中人音版必修 音乐鉴赏18西出阳关无故人课件
- 丝网除沫器的设计计算
评论
0/150
提交评论