数据结构实验3图的遍历

数据结构实验3图的遍历

ID:28060442

大小:77.50 KB

页数:7页

时间:2018-12-07

数据结构实验3图的遍历_第1页
数据结构实验3图的遍历_第2页
数据结构实验3图的遍历_第3页
数据结构实验3图的遍历_第4页
数据结构实验3图的遍历_第5页
资源描述:

《数据结构实验3图的遍历》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、灌海工含淀针其机工趕孝院实验报告书课程名:《数据结构》题目,实验3图型数据结构实验图的建立和遍历班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月实验3图的建立和遍历实验目的和要求1.熟悉图的两种常用的存储结构,邻接矩阵和邻接表。1.在这两种存储结构上的两种遍历图的方法,即深度优先遍历和广度优先遍历。2.进一步掌握递归算法的设计方法。实验环境TurboC或VC++实验学时4学吋,必做实验实验内容和步骤要求凼图外对所凼的图进行DFS和BFS遍历。如:建立阁的邻接表比较复杂,完成有W难的同学可以参考以卜例

2、程,学有余力的同学可以实现Prim算法求最小生成树。t#defineN10#defineINFINITY32768#defineTrue1#defineFalse0#defineError-1#dcfincOk1#include"stdlib.hninclude"stdio.h'1typedefenum{DG,DN,UDG,UDN}GraphKind;typedefcharVertexData;*/typedefstructArcNode2intadjvex;structArcNode2*nextarc;

3、)ArcNode2;typedefstructVertexNode{VertexDatadata;ArcNode2*firstarc;}VertexNode;typedefstruct{VertexNodevertexfN];intvexnum2,arcnum2;GraphKindkind2;JAdjList;/**/typedefstructNode{intdata;structNode*next;JLinkQueueNode;typedefstruct{LinkQueueNode*front;Link

4、QueueNode*rear;JLinkQueue;intInitQueue(LinkQueue*Q){Q->front=(LinkQueueNode*)malloc(sizeof(LinkQueueNode));if(Q->front!=NULL){Q->rear=Q->front;Q->front->next=NULL;return(True);}elsereturn(False);}intEnterQueue(LinkQueue*Q,intx)LinkQueueNode*NewNode;NewNod

5、e=(LinkQueueNode*)malloc(sizeof(LinkQueueNode));if(NewNode!=NULL){NewNode->data=x;NewNode-〉next=NULL;Q->rear->next=NewNode;Q->rear=NewNode;return(True);}elsereturn(False);}intDeleteQueue(LinkQueue*Q,int*x){LinkQueueNode*p;if(Q-〉front==Q-〉rear)retum(False)

6、;p=Q->front->next;Q-〉front-〉next=p-〉next;if(Q->rear==p)Q->rear=Q->front;*x=p->data;free(p);retum(True);}intIsEmpty(LinkQueue*Q){if(Q->front==Q->rcar)return(True);elseretum(False);typedefstructnode1{chardata;structnode1*next;JNodel,*LinkListl;typedefstruct

7、node2chardatal;chardata2;structnode2*next;}Node2,*LinkList2;inta[2];intvisited[N];intLocateVertex2(AdjList*G2,VertexDatav){intk,j=Error;for(k=0;kvexnum2;k++)if(G2->vertex[kj.data==v){j=k;break;}return(j);}intCreateUDG2(AdjList*G2){inti,j,k;ArcNode2*p

8、,*r;VertexDatavl,v2;printf(’'ninputG-〉vexnum,G-〉arcnumn);scanf("%d,%d",&(G2->vexnum2),&(G2->arcnum2));getchar();printf("inputG->vexsH);for(i=0;ivertex[i].data));G2->vertex[i].f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。