



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北水利水电学院 数据结构 实验报告20 10 20 11 学年 第 一 学期 2008级 计算机 专业实验四 图的应用一、 实验目的:1掌握图的存储结构及其构造方法2掌握图的两种遍历算法及其执行过程二、 实验内容:以邻接矩阵或邻接表为存储结构,以用户指定的顶点为起始点,实现无向连通图的深度优先及广度优先搜索遍历,并输出遍历的结点序列。提示:首先,根据用户输入的顶点总数和边数,构造无向图,然后以用户输入的顶点为起始点,进行深度优先和广度优先遍历,并输出遍历的结果。三、 实验要求:1 各班学号为单号的同学采用邻接矩阵实现,学号为双号的同学采用邻接表实现。2 C/ C+完成算法设计和程序设计并上机调试通过。3 撰写实验报告,提供实验结果和数据。4 写出算法设计小结和心得。四、 程序源代码:第 4 页 共 4 页#include #include #define MAX_VERTEX_NUM 20typedef int VRType;typedef int InfoType;typedef int VertexType;typedef enumDG,DN,UDG,UDNGraphKind;/有向图,有向网,无向图,无向网typedef struct ArcCellVRType adj;/VRType是顶点关系类型,对无权图用1或0表示是否相邻; /对带权图则为权值类型InfoType *info;/该弧相关信息的指针ArcCell,AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef structVertexType vexsMAX_VERTEX_NUM;/顶点向量AdjMatrix arcs;/邻接矩阵int vexnum,arcnum;/图的当前顶点数和弧数GraphKind kind;/图的种类标志MGraph;void CreateMG(MGraph &M)int i,j;M.kind=DN;printf(输入顶点数:);scanf(%d,&M.vexnum);printf(输入弧数:);scanf(%d,&M.arcnum);printf(输入顶点:n);for(i=0;iM.vexnum;i+)scanf(%d,&M.vexsi);printf(建立邻接矩阵:n);for(i=0;iM.vexnum;i+)for(j=0;jM.vexnum;j+)scanf(%d,&M.arcsij.adj);printf(输入相应权值:n);for(i=0;iM.vexnum;i+)for(j=0;jM.vexnum;j+)if(M.arcsij.adj)scanf(%d,&M.);typedef struct ArcNodeint adjvex;/该弧所指向的顶点在数组中的下标struct ArcNode *nextarc;InfoType *info;/该弧相关信息的指针ArcNode;typedef struct VNodeVertexType data;/顶点信息ArcNode *firstarc;/指向第一条依附该顶点的弧的指针VNode,AdjListMAX_VERTEX_NUM;typedef structAdjList vertices;int vexnum,arcnum;/图的当前顶点数和弧数int kind;/图的种类标志ALGraph;void PrintDN(ALGraph G)int i;ArcNode *p;printf(顶点:n);for(i=0;iG.vexnum;+i)printf(%2d,G.verticesi.data);printf(n弧:n);for(i=0;iadjvex,p-info);p=p-nextarc;printf(n); /forvoid CreateMGtoDN(ALGraph &G,MGraph M)/采用邻接表存储表示,构造有向图G(G.kind=DN)int i,j;ArcNode *p;G.kind=M.kind;G.vexnum=M.vexnum;G.arcnum=M.arcnum;for(i=0;iG.vexnum;+i)/构造表头向量G.verticesi.data=M.vexsi;G.verticesi.firstarc=NULL;/初始化指针for(i=0;iG.vexnum;+i)for(j=0;jadjvex=j;p-nextarc=G.verticesi.firstarc;p-info=M.;G.verticesi.firstarc=p;void CreateDNtoMG(MGraph &M,ALGraph G)int i,j;ArcNode *p;M.kind=GraphKind(G.kind);M.vexnum=G.vexnum;M.arcnum=G.arcnum;for(i=0;iM.vexnum;+i)M.vexsi=G.verticesi.data;for(i=0;iadjvex.adj=1;p=p-nextarc;/whilefor(j=0;jM.vexnum;+j)if(M.arcsij.adj!=1)M.arcsij.adj=0;/forvoid PrintMatrix(MGraph M)int i,j;for(i=0;iM.vexnum;+i)for(j=0;jM.vexnum;+j)printf(%2d,M.arcsij.adj);printf(n);void main()MGraph M,N;ALGraph G;CreateMG(M);PrintMatrix(M);CreateMGtoDN(G,M);PrintDN(G);CreateDNtoMG(N,G);PrintMatrix(N);有向图五、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025吉林松原市教育局直属学校招聘教育部直属六所师范大学应届毕业生44人模拟试卷(含答案详解)
- 2025年春季中国邮政储蓄银行上海分行校园招聘模拟试卷附答案详解
- 2025广西贵港市公安局港南分局面向社会招聘警务辅助人员16人模拟试卷附答案详解(黄金题型)
- 2025年中国黄虫灯行业市场分析及投资价值评估前景预测报告
- 2025年中国环氧浇注层压树脂行业市场分析及投资价值评估前景预测报告
- 2025江西吉安市泊士停车管理有限公司万安分公司派遣人员招聘1人考前自测高频考点模拟试题及答案详解(典优)
- 2025金沙县城乡建设发展集团有限公司模拟试卷及答案详解(夺冠系列)
- 2025年安徽中医药大学第二附属医院博士人才招聘4人考前自测高频考点模拟试题参考答案详解
- 2025北京大学电子学院招聘劳动合同制1人模拟试卷及1套完整答案详解
- 2025春季上海建工集团校园招聘正式启动考前自测高频考点模拟试题附答案详解(完整版)
- 放射科影像合作协议书
- 幼儿园大班艺术课件:《国旗国旗红红的哩》
- 医院感染相关法律法规培训课件
- 中考数学解题的思维模式设计与分析探讨
- 头部手术备皮方法
- 企业内部控制培训课件完整版
- 气瓶检验员考试题库
- 五年级上册生命与健康教案
- 学位申请书单位评语
- 新能源汽车火灾事故处置程序及方法
- 九年级语文上册-谈骨气-吴晗-课件
评论
0/150
提交评论