全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的 1.掌握图的存储结构和相关操作。 2.能够熟练用计算机来表示图和进行图处理。二、实验环境 1.硬件:每个学生需配备计算机一台。操作系统:DOS或Windows; 2.软件:DOS或Windows操作系统+Turbo C;三、实验要求 1要求对于给定的图分别用邻接矩阵和邻接表示来存储。 2对于存储好的图进行深度和广度优先遍历。 3完成图的各种操作。四、实验内容1.现在某网络公司的光纤连接结点如下图所示,请分别用邻接矩阵和邻接表将图存储到计算机中方便进行处理。2.现在某网络公司的光纤连接结点如下图所示,请分别用邻接矩阵和邻接表将图存储到计算机中方便进行处理。五、代码如下第一个实验#include#includeusing namespace std;#define MAX 20typedef int AdjMAXMAX;typedef structstring 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(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) 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 namespace 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,arcnum; 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-nextarc=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) 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 (LinkQueue &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.rear=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(visitedw=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) coutadjvexnextarc; 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;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常州股权架构协议书
- ipo上市保密协议书
- 挖藕费用协议书
- 萨克斯皮克特协议书
- 2025年传媒行业直播电商合规能力考核试卷-直播产品虚假评论识别与打击专项
- 2025年新能源行业电动汽车充电设施数字孪生仿真技术资格考核试卷
- 2025年农业数字化资格考试·农业遥感·作物种植面积(玉米、大豆)遥感估算考核试卷
- 2025年基层医疗服务能力提升-中医药适宜技术(推拿)治疗儿童常见病考核试卷
- 2025年工业制造行业工业互联网与智能工厂研究报告及未来发展趋势预测
- 2025年疫苗接种规范操作考试:疫苗错误预防机制实施考核试卷
- 2025年学习两会精神应知应会知识测试题附含答案
- 水性涂料项目建设工程方案
- 2025年医养结合养老机构运营中的服务质量评估与改进报告
- 中国重症医学科建设和发展指南2025版解读 3
- 2025年北京市高考语文试题卷(含答案及解析)
- 工程资金监管协议书示范文本
- 化妆品成分对特定皮肤问题的作用-洞察及研究
- 公共关系原理与实务(第四版)课件全套 朱崇娴
- 中药硬膏热贴敷课件
- 脑梗死后遗症康复课件
- 备考2025年浙江省绍兴市【辅警协警】笔试模拟考试题(含答案)
评论
0/150
提交评论