实验四 图的存储和应用

实验四 图的存储和应用

ID:38698417

大小:171.00 KB

页数:18页

时间:2019-06-17

实验四 图的存储和应用_第1页
实验四 图的存储和应用_第2页
实验四 图的存储和应用_第3页
实验四 图的存储和应用_第4页
实验四 图的存储和应用_第5页
资源描述:

《实验四 图的存储和应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四图的存储和应用(2课时)一、实验目的1.掌握图的邻接矩阵和邻接表的存储;2.掌握图的遍历算法、最小生成树和拓扑排序。二、实验要求1.程序结构清晰、语句完整,包含有头文件和main函数;2.格式正确,语句采用缩进格式;3.运行结果正确,输入输出有提示,格式美观。三、实验设备、材料和工具1.奔腾2计算机或以上机型2.turboc2,win-tc.四、实验内容1.图的遍历算法的实现。(阅读理解图的遍历的程序,上机运行并分析结果。)2.用邻接矩阵法创建一个有向网。五、根据实验过程填写下面内容第1程序

2、:#defineN10#defineINFINITY32768#defineTrue1#defineFalse0#defineError-1#defineOk1#include"stdlib.h"#include"stdio.h"typedefenum{DG,DN,UDG,UDN}GraphKind;typedefcharVertexData;typedefstructArcNode1{intadj;}ArcNode1;typedefstruct{VertexDatavexs[N];ArcNode

3、1arcs[N][N];intvexnum1,arcnum1;GraphKindkind1;}AdjMatrix;/*..............................*/typedefstructArcNode2{intadjvex;structArcNode2*nextarc;}ArcNode2;typedefstructVertexNode{VertexDatadata;ArcNode2*firstarc;}VertexNode;typedefstruct{VertexNodeve

4、rtex[N];intvexnum2,arcnum2;GraphKindkind2;}AdjList;/*.............................*/typedefstructNode{intdata;structNode*next;}LinkQueueNode;typedefstruct{LinkQueueNode*front;LinkQueueNode*rear;}LinkQueue;intInitQueue(LinkQueue*Q){Q->front=(LinkQueueN

5、ode*)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;NewNode=(LinkQueueNode*)malloc(sizeof(LinkQueueNode));if(NewNode!=NULL){N

6、ewNode->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)return(False);p=Q->front->next;Q->front->next=p->next;if(Q->rear==p)Q->rear

7、=Q->front;*x=p->data;free(p);return(True);}intIsEmpty(LinkQueue*Q){if(Q->front==Q->rear)return(True);elsereturn(False);}/*..........................*/typedefstructnode1{chardata;structnode1*next;}Node1,*LinkList1;typedefstructnode2{chardata1;chardata2

8、;structnode2*next;}Node2,*LinkList2;inta[2];intvisited[N];intLocateVertex1(AdjMatrix*G1,VertexDatav){intk,j=Error;for(k=0;kvexnum1;k++)if(G1->vexs[k]==v){j=k;break;}return(j);}intCreateUDG1(AdjMatrix*G1,LinkList1*bt,LinkList2*br){inti,j,k

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

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

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