1 / 71
文档名称:

数据结构旅游区导航图课程设计模板.docx

格式:docx   大小:33KB   页数:71页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构旅游区导航图课程设计模板.docx

上传人:花开花落 2020/9/27 文件大小:33 KB

下载得到文件列表

数据结构旅游区导航图课程设计模板.docx

文档介绍

文档介绍:数据结构旅游区导航图课程设计〈〈数据结构课程设计》报告题目旅游区导游图专业计算机科学与技术班级(2)班学生###13旅游区导游图题目内容问题描述:设某个旅游区共有n个旅游景点(nA10,每个旅游景点都和相邻的m个旅游景点(伦2,m<n)有直接的道路(有对应的距离)相通,请设计一个简易的旅游区导游系统。以(Vi,Vj,d)的形式从键盘输入建立该旅游区的旅游景点图,其中:Vi和V表示两个不同的旅游景点,d表示这两个景点之间的道路距离;该旅游景点图采用邻接矩阵存储结构 (数组)。实现要求:⑴旅游景点图的输出:分别以邻接矩阵、邻接链表的方式输出该旅游景点图。⑵相邻景点查询:假设对于每个景点,设置有简易的信息查询,要求能给出与该景点相邻的所有景点(有直接的道路相通)及对应的距离。⑶景点路线查询:假设对于每个景点,设置有景点路线查询,要求能给出从该景点出发到任一其它景点的最短简单路径及距离。⑷景点路线综合查询:对于该旅游区的任意两个景点,找出它们之间的最短简单路径及距离。⑸最佳旅游路线确定:假设该旅游区的入口也是出口,请确定一条最佳的旅游线路,该线路必须经过所有的旅游景点(有些景点能够重复经过)且走的路最短。⑹设计一个菜单,上述操作要求都作为菜单中的主要菜单项。本人完成的工作完成的工作:首先是用邻接矩阵的存储形式建立无向带权图,然后将邻接矩阵转换为邻接链表,最后用狄克斯特拉函数求出后面的三道有关最短路径的小题,设计主函数。所采用的数据结构邻接矩阵的数据结构,包括(弧 /边的结构定义、图的结构定义)邻接链表的数据结构,包括(弧 /边的结点定义、邻接表头结点定义、图的结构定义)数据结构的定义//邻接矩阵结构体typedefstruct(charvexl,vex2;/*弧或边所依附的两个顶点*/intArcVal; /*弧或边的权值*/}ArcType;/*弧或边的结构定义 */typedefstruct(intvexnum,um;/*图的当前顶点数和弧数 */charvexs[MAXVEX];/*顶点向量*/intadj[MAXVEX][MAXVEX];}MGraph;/*图的结构定义 *///邻接链表结构体typedefstructANode//弧的结点结构类型(intadjvex; //该弧的终点位置intinfo; 〃该弧的相关信息,这里用于存放权值structANode*nextarc;//指向下一条弧的指针}ode;typedefstructVnode//邻接表头结点的类型(chardata; //ode*firstarc;//指向第一条弧}VNode;typedefstructVNodeAdjList[MAXVEX];intvexnum,um; //图中顶点数n和边数e}ALGraph; 〃图的邻接表类型所设计的函数对于每个主要函数必须给出所采用的算法思想和程序框图;邻接矩阵和邻接链表初始化函数MGraph*Init_MGraph()/*图的初始化*/(MGraph*G;G=(MGraph*)malloc(sizeof(MGraph));G->vexnum=0;G->um=0; /*初始化顶点数、边数*/return(G);}ALGraph*Init_ALGraph()/*图的初始化*/(ALGraph*G;G=(ALGraph*)malloc(sizeof(ALGraph));G->vexnum=0;G->um=0;/*初始化顶点数*/return(G);图中顶点定位的函数,判断顶点是否重复输入了intLocateVex(MGraph*G,charvp)/* 图中顶点的定位,若图中有顶点 vp,返回其在顶点数组的下标值*/intk;for(k=0;k<=G->vexnum;k++)if(G->vexs[k]==vp)return(k);return(-1); /*图中无此顶点*/[反回-1返回k往图中增加顶点的函数voidAddVertex(MGraph*G,charvp)/*往图的顶点数组中增加顶点 */(intk,j;if(G->vexnum>=MAXVEX)printf("图中顶点数已达到最多 !\n");else(if(LocateVex(G,vp)==-1)k=G->vexnum;G->vexs[G->vexnum++]=vp;for(j=0;j<G->vexnum;j++)(G->adj[j][k]=INFINITY;G->adj[k][j]=INFINITY;}}}YN Y往图的邻接矩阵中添加边(弧)voidAddArc(MGraph*G,ArcType*arc)/*往图的邻接矩阵中添加边(弧)*/(intk=0,j=0;k=LocateVex(G,arc->vex1);j=LocateVex(G,arc->vex

最近更新

公司的资本市场运作(2) 21页

黄厚江的市公开课获奖教案省名师优质课赛课一.. 4页

高校手写市公开课获奖教案省名师优质课赛课一.. 4页

高中生人际交往市公开课获奖教案省名师优质课.. 4页

飞跃书山市公开课获奖教案省名师优质课赛课一.. 4页

鞠躬市公开课获奖教案省名师优质课赛课一等奖.. 4页

钢琴第一课时市公开课获奖教案省名师优质课赛.. 5页

迫击炮直接瞄准市公开课获奖教案省名师优质课.. 3页

辨别异同市公开课获奖教案省名师优质课赛课一.. 4页

2024年PPOPBT合作协议书 56页

心力衰竭药物致心律失常的风险评估 30页

心力衰竭药物的突破性研究和创新治疗 23页

论文说课市公开课获奖教案省名师优质课赛课一.. 4页

计算机应用基础市公开课获奖教案省名师优质课.. 5页

心力衰竭的药物治疗与血管协调控制 25页

2024年IT运维项目建议书 65页

2024年DNA免疫吸附柱合作协议书 50页

蝴蝶舞蹈考级市公开课获奖教案省名师优质课赛.. 6页

心力衰竭患者药物管理的临床路径设计 30页

心力衰竭患者中抗心律失常药物的药理机制和剂.. 24页

草船借箭缩写市公开课获奖教案省名师优质课赛.. 3页

影响决策医疗器械市场开发中的销售技巧之一 33页

节肢动物的市公开课获奖教案省名师优质课赛课.. 6页

强化医院护理队伍管理的方法与成果 27页

美术讲课市公开课获奖教案省名师优质课赛课一.. 5页

美术市公开课获奖教案省名师优质课赛课一等奖.. 4页

高考传染病应急预案(通用3篇) 10页

《走近工程师》精品课件 19页

模板木方采购合同范本 7页

2023三年级信息技术下册教案 21页