下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据结构》课程实验报告(实验5——图的存储方式和应用)学生姓名
学
号班
级
指导老师实验名称
实验成绩实验报告实验目的:根据图中顶点和边的信息编制程序建立图的邻接矩阵。实验概述实
实验要求:(1)程序要有一定的通用性。(2)直接根据图中每个结点与其他结点的关联情况输入相关信息,程序能自动形成邻接矩阵。实验基本原理:(1)为保证程序的通用性,适合各种图,在建立图的邻接矩阵算法中增加两个参数k1和k2。k1为0表示无向图,否则为有向图;k2为0表示边上无权,否则为边上有权。(2)初始化邻接矩阵时,对角线元素设置为0。若图的边上有权,则其他元素值设为∞;若边上无权,则设为0。程序代码:/*实验4.1建立图的邻接矩阵*/#include<stdio.h>验内容
#defineMaxVertexNum8#defineMaxEdgeNum20#defineMaxValue1000
/*定义图的最大顶点数*//*定义图的最大边数*//*定义相当于∞的常量值*/typedefintVertexType;/*定义顶点数据类型VertexType为整型*/typedefVertexTypevexlist[MaxVertexNum];/*定义vexlist为存储顶点信息的数组类型*/typedefintadjmatrix[MaxVertexNum][MaxVertexNum];/*定义adjmatrix为存储邻接矩阵的数组类型*/voidCreateMatrix(vexlistGV,adjmatrixGA,intn,inte,intk1,intk2);
/*建立图的邻接矩阵*/voidShowMatrix(vexlistGV,adjmatrixGA,intn);/*输出图的邻接矩阵*/voidmain(){intn,e,k1,k2;vexlistgv;/*定义保存顶点信息的数组*/adjmatrixga;
/*定义保存邻接矩阵的数组*//*输入一个图的顶点数和边数*/printf("输入待处理图的顶点数和边数:");scanf("%d%d",&n,&e);/*输入有无向选择和有无权选择*/printf("输入有无向选择和有无权选择(0为无,非0为有):");scanf("%d%d",&k1,&k2);CreateMatrix(gv,ga,n,e,k1,k2);/*建立图的邻接矩阵*/printf("\n图的邻接矩阵为:\n\n");ShowMatrix(gv,ga,n);
/*输出图的邻接矩阵*/}/*输入n个顶点和e条边,建立图的邻接矩阵*/voidCreateMatrix(vexlistGV,adjmatrixGA,intn,inte,intk1,intk2){/*k1为0则无向,否则为有向;k2为0则无权,否则为有权*/inti,j,k,w;/*建立顶点数组*/printf("输入%d个顶点数据:",n);for(i=0;i<n;i++)scanf("%d",&GV[i]);/*初始化图的邻接矩阵*/for(i=0;i<n;i++)for(j=0;j<n;j++){if(i==j)GA[i][j]=0;elseif(k2!=0)GA[i][j]=MaxValue;elseGA[i][j]=0;}if(k1==0&&k2==0)
/*建立无向无权图*/{printf("输入%d条无向无权边的起点和终点序号!\n",e);for(k=1;k<=e;k++){scanf("%d%d",&i,&j);GA[i][j]=GA[j][i]=1;}}elseif(k1==0&&k2!=0)/*建立无向有权图*/{printf("输入%d条无向有权边的起点和终点序号及权值!\n",e);for(k=1;k<=e;k++){scanf("%d%d%d",&i,&j,&w);GA[i][j]=GA[j][i]=w;}}elseif(k1!=0&&k2==0)/*建立有向无权图*/{printf("输入%d条有向无权边的起点和终点序号!\n",e);for(k=1;k<=e;k++){scanf("%d%d",&i,&j);GA[i][j]=1;}}elseif(k1!=0&&k2!=0)/*建立有向有权图*/{printf("输入%d条有向有权边的起点和终点序号及权值!\n",e);for(k=1;k<=e;k++){scanf("%d%d%d",&i,&j,&w);GA[i][j]=w;}}}/*输出图的邻接矩阵*/voidShowMatrix(vexlistGV,adjmatrixGA,intn){inti,j;printf("
顶点");for(i=0;i<n;i++)printf("%6d",GV[i]);printf("\n");for(i=0;i<n;i++){printf("%6d",GV[i]);for(j=0;j<n;j++){if(GA[i][j]==MaxValue)printf("%6s","∞");elseprintf("%6d",GA[i][j]);}printf("\n");}}实验结果:测试用例1无向无权图如下图所示。程序运行结果如下:测试用例2有向有权图如下图所示。程序运行结果如下:(1)具有n个顶点的图,其邻接矩阵为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年溅射压力传感器项目综合评估报告
- 2024至2030年中国隧道烘炉数据监测研究报告
- 2024年超细合金粉末项目评估分析报告
- 2024至2030年中国转台式自动抛丸机行业投资前景及策略咨询研究报告
- 2024至2030年中国聚氨酯管道数据监测研究报告
- 2024至2030年中国缸体曲轴箱芯数据监测研究报告
- 2024至2030年中国电脑母亲监护仪数据监测研究报告
- 2024至2030年中国涂层铝卷数据监测研究报告
- 2024至2030年中国桌边型碎纸机数据监测研究报告
- 2024至2030年中国手工制品手链行业投资前景及策略咨询研究报告
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- 【中考真题】2024年江西省初中学业水平考试历史真题试卷(含答案)
- 化工行业大数据分析与预测性维护
- 安全教育年度计划养老院(3篇模板)
- 【易错题】苏教版数学六年级上册第5单元《分数四则混合运算》易错题强化训练卷(含答案)
- 云南省高中学业水平考试数学考题分类汇编以及知识点穿插
- 2024年企业消防月活动总结5篇
- 头晕眩晕诊断与治疗
- 小班上学期期末家长会
- 2024年燕舞集团限公司公开招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 四年级上册语文 第六单元《一只窝囊的大老虎》教学课件 第1课时
评论
0/150
提交评论