欢迎来到天天文库
浏览记录
ID:49691066
大小:202.00 KB
页数:10页
时间:2020-03-03
《实验7 图及图的操作实验.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告七图及图的操作实验班级:姓名:学号:专业:一、实验目的:1、掌握图的基本概念和术语2、掌握图的存储结构及创建算法。3、掌握图的遍历算法(递归算法)。二、实验内容:1、图邻接矩阵存储结构表示及基本操作算法实现[实现提示](同时可参见教材及ppt上的算法)函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接矩阵存储结构类定义:自定义如下:constintMaxSize=4;constintINFINITY=65535;template2、sT>classMgraph{public:Mgraph(Ta[],intn,inte);voidPGraph();private:Tvertex[MaxSize];intarc[MaxSize][MaxSize];intvertexNum,arcNum;voidcreateUG(Ta[],intn,inte);voidcreateUW(Ta[],intn,inte);voidcreateHG(Ta[],intn,inte);voidcreateHW(Ta[],intn,inte);};(2)创建邻接矩阵算法创建无向图邻接矩阵3、算法:templatevoidMgraph::createUG(Ta[],intn,inte){vertexNum=n;arcNum=e;inti,j,k;for(i=0;i>i>>j;arc[i][j]=4、1;arc[j][i]=1;}}创建无向网邻接矩阵算法:templatevoidMgraph::createUW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i5、"条边(格式:顶点1顶点2权值):";cin>>i>>j>>w;arc[i][j]=w;arc[j][i]=w;}}创建有向图邻接矩阵算法:templatevoidMgraph::createHG(Ta[],intn,inte){vertexNum=n;arcNum=e;inti,j,k;for(i=0;i6、rcNum;k++){cout<<"请输入第"<>i>>j;arc[i][j]=1;}}创建有向网邻接矩阵算法:templatevoidMgraph::createHW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i7、][j]=INFINITY;for(k=0;k>i>>j>>w;arc[i][j]=w;}(3)输出邻接矩阵结果算法templatevoidMgraph::PGraph(){inti,j;for(i=0;i8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
2、sT>classMgraph{public:Mgraph(Ta[],intn,inte);voidPGraph();private:Tvertex[MaxSize];intarc[MaxSize][MaxSize];intvertexNum,arcNum;voidcreateUG(Ta[],intn,inte);voidcreateUW(Ta[],intn,inte);voidcreateHG(Ta[],intn,inte);voidcreateHW(Ta[],intn,inte);};(2)创建邻接矩阵算法创建无向图邻接矩阵
3、算法:templatevoidMgraph::createUG(Ta[],intn,inte){vertexNum=n;arcNum=e;inti,j,k;for(i=0;i>i>>j;arc[i][j]=
4、1;arc[j][i]=1;}}创建无向网邻接矩阵算法:templatevoidMgraph::createUW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i5、"条边(格式:顶点1顶点2权值):";cin>>i>>j>>w;arc[i][j]=w;arc[j][i]=w;}}创建有向图邻接矩阵算法:templatevoidMgraph::createHG(Ta[],intn,inte){vertexNum=n;arcNum=e;inti,j,k;for(i=0;i6、rcNum;k++){cout<<"请输入第"<>i>>j;arc[i][j]=1;}}创建有向网邻接矩阵算法:templatevoidMgraph::createHW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i7、][j]=INFINITY;for(k=0;k>i>>j>>w;arc[i][j]=w;}(3)输出邻接矩阵结果算法templatevoidMgraph::PGraph(){inti,j;for(i=0;i8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
5、"条边(格式:顶点1顶点2权值):";cin>>i>>j>>w;arc[i][j]=w;arc[j][i]=w;}}创建有向图邻接矩阵算法:templatevoidMgraph::createHG(Ta[],intn,inte){vertexNum=n;arcNum=e;inti,j,k;for(i=0;i6、rcNum;k++){cout<<"请输入第"<>i>>j;arc[i][j]=1;}}创建有向网邻接矩阵算法:templatevoidMgraph::createHW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i7、][j]=INFINITY;for(k=0;k>i>>j>>w;arc[i][j]=w;}(3)输出邻接矩阵结果算法templatevoidMgraph::PGraph(){inti,j;for(i=0;i8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
6、rcNum;k++){cout<<"请输入第"<>i>>j;arc[i][j]=1;}}创建有向网邻接矩阵算法:templatevoidMgraph::createHW(Ta[],intn,inte){intw;vertexNum=n;arcNum=e;inti,j,k;for(i=0;i7、][j]=INFINITY;for(k=0;k>i>>j>>w;arc[i][j]=w;}(3)输出邻接矩阵结果算法templatevoidMgraph::PGraph(){inti,j;for(i=0;i8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
7、][j]=INFINITY;for(k=0;k>i>>j>>w;arc[i][j]=w;}(3)输出邻接矩阵结果算法templatevoidMgraph::PGraph(){inti,j;for(i=0;i8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
8、、图邻接表存储结构表示及基本操作算法实现[实现提示]函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(1)邻接表存储结构类定义:自定义如下:#includeusingnamespac
此文档下载收益归作者所有