2022年数据结构实验八文件 .pdf

上传人:H****o 文档编号:39684666 上传时间:2022-09-07 格式:PDF 页数:4 大小:116.92KB
返回 下载 相关 举报
2022年数据结构实验八文件 .pdf_第1页
第1页 / 共4页
2022年数据结构实验八文件 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年数据结构实验八文件 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构实验八文件 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、实验目的 1.掌握图的存储结构和相关操作。2.能够熟练用计算机来表示图和进行图处理。二、实验环境 1.硬件:每个学生需配备计算机一台。操作系统:DOS或 Windows;2.软 件:DOS或Windows 操 作系 统+Turbo C;三、实验要求 1要求对于给定的图分别用邻接矩阵和邻接表示来存储。2对于存储好的图进行深度和广度优先遍历。3完成图的各种操作。四、实验内容1.现在某网络公司的光纤连接结点如下图所示,请分别用邻接矩阵和邻接表将图存储到计算机中方便进行处理。2.现在某网络公司的光纤连接结点如下图所示,请分别用邻接矩阵和邻接表将图存储到计算机中方便进行处理。五、代码如下第一个实验#

2、include#include using namespace std;#define MAX 20 typedef int AdjMAXMAX;typedef struct string vexsMAX;/顶点表Adj arcs;/邻接矩阵int vexnum,arcnum;/图的顶点和弧数MGraph;int ylx_LocateVex(MGraph&G,string u);int ylx_CreateUDN(MGraph&G)int i,k,j;string v1,v2;coutG.vexnumG.arcnum;cout 输入顶点:;for(i=0;iG.vexsi;/构造顶点数 for

3、(i=0;iG.vexnum;i+)/构造邻接矩阵for(j=0;jG.vexnum;j+)G.arcsij=0;for(k=0;kG.arcnum;k+)cout 输入第 k+1v1v2;i=ylx_LocateVex(G,v1);j=ylx_LocateVex(G,v2);G.arcsij=1;G.arcsji=1;/置的对称弧 return 0;int ylx_LocateVex(MGraph&G,string u)/确定 u 在 G中序号int i;for(i=0;iG.vexnum;i+)if(u=G.vexsi)return i;if(i=G.vexnum)名师资料总结-精品资料欢

4、迎下载-名师精心整理-第 1 页,共 4 页 -coutError u!endl;exit(1);return 0;void ylx_ShowG(MGraph&G)int i,j;for(i=0;iG.vexnum;i+)coutG.vexsi ;coutendl;for(i=0;iG.vexnum;i+)for(j=0;jG.vexnum;j+)coutG.arcsij ;coutendl;main()MGraph A;int a;a=ylx_CreateUDN(A);ylx_ShowG(A);第二个实验#include#include#include#include using names

5、pace std;int visited30;#define MAX_VERTEX_NUM 30#define OK 1/typedef int VertexType;typedef int InfoType;typedef struct ArcNode/弧 int adjvex;struct ArcNode*nextarc;ArcNode;typedef struct VNode/表头 int data;ArcNode*firstarc;VNode,AdjListMAX_VERTEX_NUM;typedef struct/图 AdjList vertices;int vexnum,arcnu

6、m;int kind;ALGraph;void ylx_CreateDG(ALGraph&G)int k,i,v1;coutendlG.vexnum;coutG.arcnum;for(i=1;i=G.vexnum;i+)/初使化表头 G.verticesi.data=i;G.verticesi.firstarc=NULL;for(k=1;k=G.vexnum;k+)/输入边 int v2;cout请输入与结 点 kv2;cout请输入与第kv1;ArcNode*p;p=(ArcNode*)malloc(sizeof(ArcNode);if(!p)exit(-1);p-adjvex=v1;p-n

7、extarc=NULL;G.verticesk.firstarc=p;for(int i=1;iv2;i+)int m;cout请输入与第 km;ArcNode*q;q=(ArcNode*)malloc(sizeof(ArcNode);/动态指针 if(!q)exit(-1);q-adjvex=m;/顶点给 P q-nextarc=NULL;p-nextarc=q;p=q;/free(q);/free(p);void ylx_DFS(ALGraph G,int v)/深度搜索visitedv=1;coutG.verticesv.datanextarc)名师资料总结-精品资料欢迎下载-名师精心整

8、理-第 2 页,共 4 页 -w=x-adjvex;if(visitedw=0)ylx_DFS(G,w);void ylx_DFSB(ALGraph G,int v)/深度搜索的边集 visitedv=1;ArcNode*y;y=(ArcNode*)malloc(sizeof(ArcNode);if(!y)exit(-1);y=G.verticesv.firstarc;int u=G.verticesv.data;int w;for(;y;y=y-nextarc)w=y-adjvex;if(visitedw=0)coutuwnext=NULL;void ylx_EnQueue(LinkQueu

9、e&Q,int e)/进队 QNode*p;p=(QNode*)malloc(sizeof(QNode);if(!p)exit(-1);p-data=e;p-next=NULL;Q.rear-next=p;Q.rear=p;/free(p);int ylx_DeQueue(LinkQueue&Q,int&e)/出队 if(Q.front=Q.rear)return-1;QNode*p;p=(QNode*)malloc(sizeof(QNode);if(!p)exit(-1);p=Q.front-next;e=p-data;Q.front-next=p-next;if(Q.rear=p)Q.re

10、ar=Q.front;free(p);return e;int ylx_QueueEmpty(LinkQueue Q)/判断队列是否为空 if(Q.front=Q.rear)return 1;return 0;void ylx_BFS(ALGraph G,int v)/广度搜索 int u;LinkQueue Q;InitQueue(Q);if(visitedv=0)visitedv=1;coutG.verticesv.dataadjvex;w=0;w=z-nextarc-adjvex)if(visitedw=0)visitedw=1;coutwnextarc)w=z-adjvex;if(vi

11、sitedw=0)visitedw=1;coutwnextarc)w=r-adjvex;if(visitedw=0)visitedw=1;coutuwendl;EnQueue(Q,w);int main()int i;ALGraph G;ylx_CreateDG(G);int x;coutx;cout 邻接表为:endl;for(int j=1;j=x;j+)coutG.verticesj.data ;ArcNode*p;p=(ArcNode*)malloc(sizeof(ArcNode);if(!p)exit(-1);p=G.verticesj.firstarc;while(p)coutad

12、jvexnextarc;coutendl;cout请 输 入 第 一 个 要 访 问 的 结 点 序 号:n;for(i=0;i30;i+)visitedi=0;cout 广度搜索:endl;ylx_BFS(G,n);for(i=0;i30;i+)visitedi=0;coutendl;cout 边集:endl;ylx_BFSB(G,n);for(i=0;i30;i+)visitedi=0;cout 深度搜索:endl;ylx_DFS(G,n);for(i=0;i30;i+)visitedi=0;coutendl;cout 边集:endl;ylx_DFSB(G,n);/system(pause);return 0;六、运行结果截图第一个实验第二个实验名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁