当前位置:文档之家› 数据结构课程设计—校园导航报告

数据结构课程设计—校园导航报告

数据结构课程设计—校园导航报告

校园导航作为一种常用的地图应用,其设计并不复杂,但在功能实现中涉及到多种常

见数据结构,如图、树结构等。本报告对校园导航的数据结构设计进行详细说明,主要可

以分为三个部分:

1、数据输入。

在实现校园导航功能之前,需要输入校园数据,各个元素需要形成节点并构建图,比

如楼宇、地点以及相连的路径等,用户可以输入各个节点的属性,然后形成节点、构建图、标记属性等。

2、数据结构设计

对于校园地图来说,一般采用有向图和无向图这两种图形结构。有向图表示有方向性

的连接关系,一般用于实现单程导航;无向图表示无方向性的连接关系,一般用于实现多

程导航,比如从一个地点到达另一个地点的最短路径。

另外,在校园地图中也会遇到对节点进行索引的情况,一般采用哈希表来构造索引,

哈希表存储不同的数据结构的元素,以及这些元素的信息,从而实现快速查找功能。

3、搜索算法设计

如许多搜索应用,校园导航中也有搜索功能,搜索过程中,会在图和哈希表中寻找符

合条件的结果。有关搜索算法,常用的有深度优先搜索算法和广度优先搜索算法。

深度优先搜索算法通过沿着关系网的深度来搜索,即每次搜索一条路径直至无路可走;而广度优先搜索算法通过沿着关系网的广度来搜索,即每次从多条路径中选择最佳路径进

行搜索,并将其标记,直到找到最终结果

总体来看,校园导航数据结构设计包含了输入、构建图、节点索引以及搜索等多种操作,可以利用图、树、哈希表等数据结构设计实现各项功能,以最优的性能完成地图搜索

工作。

《校园导航系统》课程设计报告

《校园导航系统》课程设计报告 姓名: 学号: 班级:网络 专业:网络工程 指导教师: 时间:2

目录 摘要 (1) 1.题目 (1) 2.概要设计 (1) 3.调试分析 (15) 4.参考文献 (15)

1.题目 校园导航系统 设计一个校园导游程序,后台操作: 1、操作员信息管理如修改密码等 2、能根据学校的规模进行添加景点信息、修改景点信息等功能, 3、若临时有交通管制,能进行交通管制的设置和撤销(如某某时间段那条路进行那个方向的交通管制等) 前台为来访的客人提供各种信息查询服务: 1、设计学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名 称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 2、为来访客人提供图中任意景点相关信息的查询。 3、提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。 1.1 需求分析 设计一个校园导航系统,导航系统又分为游客和管理员。要进行管理操作还是游客操作由用户自己选择 管理员的操作:修改景点信息、增加景点信息、交通管制等。 游客的操作:查看景点信息和查最短路径。 2.概要设计 景点的信息由一维数组存放,景点关系由二维数据来存放 景点的信息和关系从文件读取,进而初始化 typedef struct //保存单个景点信息的结构体 { char code[10]; //存放景点代码 char name[20]; //存放景点名称 char instruction[100]; //存放景点简介 }ViewPoint; typedef struct //存放景点关系的二维数组 { int edges[MAXV][MAXV]; //两景点间的距离 int number; //景点的数量 ViewPoint V[MAXV]; //保存景点信息的结构体数组 }MGraph;

数据结构课程设计模板

河南城建学院 课程设计报告书 专业:计算机科学与技术 课程设计名称:《数据结构课程设计》 题目:校园导航问题 班级:0814122 学号:081412211 姓名:谌文娟 同组人员:许华宇 指导老师:王永皎、赵军民、陈秋红、张延红 完成时间:2014年2月27日

摘要 校园导航要求每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。要用“邻接矩阵”来存储各点间的距离,然后用floyd算法求出最短路径。所以采用工程思想,将系统共分以下五个模块:节点数据结构类型、创建导航图函数、最短路径导航函数、查询函数声明、主菜单。 关键词:数据结构;算法设计

目录 目录 第一章开发环境和开发工具 (1) 1.1 C语言简介 .......................................................................................................... . (1) 1.2 开发背景 (2) 1.3 开发环境 (2) 第二章算法思想 (3) 2.1 系统需求分析 (3) 2.2 系统总体设计 (4) 2.2.1 系统设计目标 (4) 2.2.2 开发设计思想 (4) 2.2.3 系统功能模块设计 (4) 2.3 算法思想描述 (4) 第三章算法实现 (6) 3.1 数据结构 (6) 3.2 程序模块 (8) 3.3 各模块之间的调用关系 (9) 3.4 源程序代码 (10) 第四章测试与分析 (16) 4.1 测试数据选择 (16) 4.2 测试结果分析 (20) 总结 (21)

校园导游咨询系统数据结构课程设计c语言

校园导游咨询系统数据结构课程设计c语言校园导游咨询系统数据结构课程设计c语言 一、课程设计的目的 本次课程设计旨在通过C语言程序设计实现校园导游咨询系统,学生能够了解并掌握数据结构的基本概念、算法和编程技术,培养学生的编程能力和解决实际问题的能力。 二、系统需求分析 (1)用户管理 系统需要实现学生、教师、管理员三种用户的管理,分别具有不同的权限等级。要实现用户注册、登录、退出等基本功能。 (2)地图导航 系统需要实现校内地图的导航功能,包括校门、教学楼、图书馆、宿舍等位置的标注,提供校园内部的导航和查找服务。 (3)建筑信息 系统需要提供校内建筑的信息查询功能,包括建筑名称、位置、使用情况等,方便师生查询。 (4)在线咨询 系统需要提供在线咨询功能,方便学生、教师等用户在线咨询学校相

关事宜,并实现客服人员的消息处理。 三、数据结构设计 (1)用户信息表 采用哈希表作为用户信息表的数据结构,将用户信息存储在表中,方 便用户登录和信息的管理。哈希表的键值是用户名,值是用户信息 (包括用户名、密码、权限等级等)。 (2)建筑信息 采用结构体数组作为建筑信息的数据结构,将建筑信息存储在数组中,方便查询和展示。结构体包含建筑名称、位置、使用情况等信息。 (3)校内地图 为方便地图导航,采用邻接矩阵作为校内地图的数据结构,将校内各 个建筑之间的距离存储在矩阵中。矩阵的行和列分别表示建筑的编号,矩阵元素表示建筑之间的距离。 (4)消息队列 为实现在线咨询功能,采用队列作为消息队列的数据结构,将用户发 送的消息存储在队列中。消息队列的队首指针和队尾指针分别表示最 早和最晚的消息,方便客服人员的处理。 四、代码实现 (1)用户管理

校园导航系统数据结构课程设计

校园导航系统数据结构课程设计

前言 现代社会,新兴科技日新月异,信息千变万化,人们在渴望得到最多最广的信息的同时又渴望得到信息的路径能越来越简单,易操作,而且能在简易的操作中得到更多的信息。这就要求信息咨询系统的开发者在开发之时能尽可能的全面理解客户的想法要求,而且在开发的时候能更简易的操作和更新,这种思想都符程序设计的开发思想。 本次设计任务是设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径),其实就是数据结构中图类的问题。将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。 关键字:校园导航数据结构 C语言

目录 1引言 (4) 2程序设计 (4) 2.1设计时间 (4) 2.2设计目的 (4) 2.3设计任务 (4) 2.4需求分析 (4) 2.5概要设计 (5) 2.5.1.设计思路和主要步骤 (5) 2.5.2程序流程图 (6) 2.6详细设计 (6) 2.6.1学校整体局部 (6) 2.6.2打印图 (8) 2.6.3导航函数 (9) 2.6.4查找路径 (10) 2.6.5记录最短路径 (11) 3调试分析 (11) 4附录 (15) 总结 (21) 参考文献 (22)

1引言 本概要设计说明书基于之前建立的软件需求设计基础上,对“蚌埠学院校园导航系统”做出概要分析。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 2程序设计 2.1设计时间 2015-06-01—2015-06-15 2.2设计目的 1.加深对《数据结构》这门课程的进一步理解与巩固 2.通过课程设计,培养自己的编程能力以及团队协作能力 3.加强自己对实际问题的分析能力,以及如何更好的将一些经典的算法应 用于实际 2.3设计任务 该导航系统为参观者提供校园主要建筑的基本信息及各建筑间的距离,同时通过该系统计算出所在位置到目的地的最短路径。 2.4需求分析 1.程序体现的功能: (1) main()——主函数 (2) navigate()——导航函数 (3) pri()——打印校园平面图函数 (4) visit()——递归查找路线函数 2.正确输入与输出形式: 如: 执行建筑查询功能: ①输入为:sod 输出为:该建筑所在的坐标为7 8 种有花草和一些艺术标记物

数据结构报告 校园导航问题

数据结构报告校园导航问题 一、引言 校园导航问题是在大型校园环境中,为了帮助学生、教职员工和访客快速准确 地找到目的地而提出的。校园导航系统需要提供用户友好的界面和高效的导航功能,以满足用户的需求。本报告将介绍一个基于数据结构的校园导航系统的设计和实现。 二、问题描述 在大型校园中,学生、教职员工和访客常常面临找不到目的地的问题。校园导 航系统的目标是提供一个方便、快捷且准确的导航服务。该系统需要满足以下需求: 1. 提供校园地图:系统需要包含校园的地图信息,包括建筑物、道路和其他地 标的位置和连接关系。 2. 支持路径规划:用户可以输入起始点和目的地,系统能够计算出最短路径, 并提供导航指引。 3. 支持多种交通方式:系统需要考虑不同交通方式,如步行、自行车和汽车, 并根据用户选择提供相应的路径。 4. 提供实时信息:系统需要实时更新校园地图信息,包括建筑物的开放时间、 道路的交通情况等。 三、设计思路 为了实现校园导航系统,我们可以采用以下数据结构和算法: 1. 图结构:校园地图可以表示为一个有向加权图,其中节点表示建筑物或地标,边表示道路或连接关系,边的权重表示距离或时间。

2. 最短路径算法:可以使用Dijkstra算法或A*算法计算起始点到目的地的最短路径。 3. 用户界面:可以设计一个用户友好的界面,包括输入起始点和目的地、选择 交通方式等功能。 四、系统实现 基于上述设计思路,我们可以实现一个校园导航系统。系统的实现可以分为以 下几个步骤: 1. 数据采集:收集校园地图信息,包括建筑物和道路的位置和连接关系。可以 使用GPS定位和地图绘制工具进行数据采集。 2. 数据存储:将采集到的数据存储到数据库中,以便系统可以快速访问和处理。 3. 路径规划:根据用户输入的起始点和目的地,使用最短路径算法计算最短路径,并生成导航指引。 4. 用户界面:设计一个用户友好的界面,包括地图显示、输入框、按钮等元素,以便用户可以输入起始点和目的地,并选择交通方式。 5. 实时信息更新:定期更新校园地图信息,包括建筑物的开放时间、道路的交 通情况等,以保持数据的准确性。 五、系统优化 为了提高系统的性能和用户体验,可以考虑以下优化措施: 1. 数据压缩:对地图数据进行压缩,以减少存储空间和传输时间。 2. 路径缓存:缓存常用路径,以减少计算时间。 3. 并行计算:使用多线程或分布式计算,以加快路径计算速度。

校园导游图系统数据结构实验报告

一. 设计目的 通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。 二. 设计内容 用无向网表示学校的校园景点平面图,图中顶点表示主要景点, 存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。游客通过终端可询问: (1)从某一景点到另一景点的最短路径。 (2)游客从公园进入,选取一条最佳路线。 (3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。 [基本要求] (1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路, 边上的权值表示距离.为此图选择适当的数据结构。 (2)把各种路径都显示给游客,由游客自己选择浏览路线。 (3)画出景点分布图于屏幕上。 [实现提示] (1)构造一个无向图G并用邻接矩阵来存储。 (2)利用迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径用二维数组p[i][]来记录, 最短路径长度就用一维数组d[i]存放;i的范围:0~20。 (3)一维数组have[]是用来记录最短路径出现顶点的顺序。 (4)根据起点和终点输出最短路径和路径长度。 三.概要设计

1.功能模块图;

2.各个模块详细的功能描述。 1.浏览校园全景:采用深度遍历遍历图进行所有景点浏览,将遍历景点信息输出 2.查看所有游览路线:用户输入一个景点,采用迪杰斯特拉算法将从该景点起所

西安邮电大学-(数据结构)校园导游系统课程设计报告---精品管理资料

西安郵電大學 数据结构课程设计报告书 系部名称计算机学院 学生姓名崔斌 专业名称计算机科学与技术专业班级计科1106 学号04111185 指导教师衡霞 2012年12月15日至 时间 2012年12月21日

实验题目:校园导游系统 一、实验目的 ①:为了让非本校的同学们,家长们能够充分了解本校---西安邮电大学。 ②:实践数据结构所学知识。 二、实验内容 ①:学校简易的俯视图。 ②:各个景点的简单介绍. ③:任意两景点之间的所有路径. ④:任意两景点之间的最少中转景点路径。 ⑤:任意两景点之间的带权路径长度。 三、需求分析 Init();初始化两个顺序栈 Menu();进行选择的模块函数; Intro();景点介绍函数; Search();判断是否有此编号的景点; Findallpath();找路径函数; Findallway();找任意两个景点之间的所有路径;(存在栈里面)Shortestway();任意两个景点之间中转次数最少的路径;(从栈里面读取出来)Niceway();任意两个景点之间总权值最小的路径;(从栈里面读取出来)

Calculate();(从栈里面读取出来相关数据),进行分析运算; Byebye(); 你懂得! 四、概要设计 1、方案设计 对系统进行分析,给出景区图 重点: ①: //思想;递归结合循环,然后,找到终点时还要回溯; void findallway(adjlist *G,int m,int n)//两点之间的所有路径 { int i,t,k; arcnode *p; pa_th rp; push(s,m); G—>vertex[m—1].flag=1; if(m==n) { rp.sumweight=k=calculate(G); rp.sum=s-〉top; rp。num=(y+1); push1(&z,rp); printf(" 路径%3d为(途径%2d个景点,长度为%3d):”,y+1,s—〉top,k); for(i=0;i〈=s—>top;i++) printf(”—〉%d",s—〉elem[i]); printf("\n"); G-〉vertex[m-1]。flag=1;

数据结构-校园导游系统

课程设计论文(附有代码!)题目:校园导游咨询 学院:计算机科学与工程学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 2014年9月22日

摘要 桂林众山环绕,风景优美,加之近年来校园环境也得到不断地改善,来访校园的游客逐渐增加,为了方便众多游客对校园景点的参观,需要给来访人士提供校园导游咨询服务,利用计算机建立一个便利的咨询系统可以很好地解决这个问题。 在本设计实验中,我所采用的是邻接矩阵作为数据的存储结构,用不同的功能模块对两地距离和校园道路信息进行编辑。当游客来访时,系统能根据用户输入的景点代号查询景点信息,提供任意两个景点间的最短路径查询,并能查询校园内的交通信息,方便游客访问。工作人员还可以为校园更新景点以及路径信息。 本文将简单介绍该系统的开发背景,详细介绍系统的主要设计思路,函数的建立和使用过程,该系统功能的实现方式和实现结果,以及对所遇到问题的分析解决,最后对该系统进行总结描述。 关键词:校园导游咨询;C++;数据结构;最短路径;查询;

目录 引言 (1) 1系统概述 (1) 2需求分析 (1) 2.1 系统需求 (1) 2.2 开发环境 (2) 3详细设计 (3) 3.1 系统结构 (3) 3.2 数据结构设计以及数据的初始化 (4) 3.2.1 图结构设计 (4) 3.2.2 数据的初始化 (4) 3.3 查询模块的详细设计 (5) 3.3.1 查询模块功能子函数设计 (5) 3.4 更新功能模块详细设计 (7) 3.4.1 更新模块功能子函数设计 (8) 4所遇到的问题和分析解决 (10) 5系统特色及关键 (11) 6结论 (12) 参考文献 (13)

顺序结构课程设计 校园导航系统总结

《数据结构》课程设计报告 计算机与信息工程系

《数据结构》课程设计评阅表

目录 一、引言 1.1项目意义 (4) (4) 二、设计过程 (4) (5) (6) (7) (7) (7) 三、测试及运行结果 (7) (7) 四、总结 (10) 五、参考文献 (11) 六、附录 (11)

一、引言 针对学校现代化的实现,对于来访我校的访客能够更方便的了解学校和学校景点,以及提供给访客从一个景点到另一个地点怎样走路径最短的方案,以节省访客的时间游览及行走路程,于是编写了这个校园导航系统。 数据结构是计算机科学与技术专业,计算机信息管理与应用专业,网络等专业的基础课,是十分重要的核心课程.所有的计算机系统软件和应用软件都要用到各种类型的数据结构.因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付当前众多复杂的课题.要想有效地使用计算机,充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识.打好"数据结构"这门课程的扎实基础,对于学习计算机专业的其他课程,如操作系统,数据库管理系统,软件工程,编译原理,人工智能,图视学等都是十分有益的. 随着现在科技的发展,智能化也不是一个名词,而是实在的随处可见的。算法设计与分析对于程序的实现起着非常重要的作用,思路才是程序的核心。这个校园导航系统,利用算法设计里的图来解决,它将校园景点作为图的结点,将景点间的问题就抽象成了求图中一结点到另一结点的问题。这就是计算机代替人工的一个实例,也充分体现数据结构和算法的重要。 二、设计过程 程序设计分析 校园导航模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表点,用图的边代表景点之间的路径。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表储存,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度及路线时可用迪克斯特拉(Dijkastra)算法实现。最后用switch选择语句选择执行浏览推荐路线或查询最短路径,并且主页面会简单描述景点的信息。

数据结构课程设计校园导航

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型 程序的能力,并培养基本的、良好的程序设计技能以及合作能力。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问 题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构 和算法设计技术,掌握分析、解决实际问题的能力。 通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算 法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机 操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、课程设计内容 1)问题描述 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 2)基本要求 (1)查询各景点的相关信息; (2)查询图中任意两个景点间的最短路径。 (3)查询图中任意两个景点间的所有路径。 (4)增加、删除、更新有关景点和道路的信息 三、课程设计过程 1.需求分析

(1)设计学校的校园平面图,选取出若干的具有代表性的景点构成一个抽象的无向带权图,顶点为景点,边的权值代表了景点间路径的长度。 (2)将景点的序号,名称,介绍存放起来准备查询。 (3)提供任意景点的信息; (4)提供任意经典的路径查询及其最优路线的查询 (5)平面图景点的增加及删除,以及边和权值(长度)的改变 2.概要设计 1:第一点是主界面的设计,首先,为了该系统各个功能的管理,设计出含有多个菜单项的主菜单界面,可以更方便的使用该系统。 2:第二点是存储结构的设计,采取了图结构类型(mgraph)存储校园图的信息,景点信息用结构数组vexs存储,而且利用全局变量:visited[]数组用于存储顶点是否被访问标志;d[]数组用于存放权值和查找路径顶点的编号;campus是一个图结构的全局变量。 3:第三点是设计各个功能的实现,学校景点的介绍通过函数browsecompus()来实现;查询景点间的最段路径通过Floyd(弗洛伊德)算法实现;查询景点间的所有路径通过allpath函数和path函数来实现;更改图的信息可以由主函数changegraph以及其他函数可以实现。 3.详细设计 (1)主要的操作界面的显示以及无向网操作

校园导游系统数据结构实习报告

校园导游系统数据结构实习报告 校园导游系统数据结构实习报告 一、引言 随着信息技术的快速发展,数字化校园已成为许多学校的重要建设目标。其中,校园导游系统作为数字化校园的一部分,对于提高校园文化氛围,方便新生和游客游览校园,增强校园归属感起到了重要作用。在这次实习中,我们的主要任务是设计和实现一个校园导游系统,采用数据结构技术对校园地图进行建模和优化,以提供高效、便捷的导游服务。 二、系统设计 1、数据结构选择:考虑到校园地图的复杂性,我们采用了图(Graph)作为基础数据结构。图是由节点(顶点)和边组成的集合,可以很好地表示校园中各个地点之间的连接关系。 2、地图表示:我们将校园地图转化为图,其中每个地点对应一个节点,地点之间的路径对应边。为了更准确地表示实际环境,我们使用了带权重的边,权重表示路径的长度或美观度。 3、导游路径规划:我们使用了最短路径算法,如Dijkstra算法和 A*算法,来规划最佳游览路径。用户可以在系统中设定起点和终点,

系统会根据图中的边和权重计算出最短路径。 4、语音导航:系统可以通过用户的手机实时获取位置信息,并使用TTS(Text-to-Speech)技术将规划的路径转化为语音提示,方便用户边听边走。 5、数据库设计:我们设计了一个关系型数据库,用于存储校园地图信息、用户信息等。通过使用索引和查询优化技术,提高了系统性能。 三、系统实现 1、环境配置:我们使用了Python语言和相关的数据结构库来实现系统。开发环境为Windows 10操作系统,数据库采用了MySQL。 2、代码实现:我们对Python语言和相关库进行了深入学习,掌握了图算法的实现方法。在实现过程中,我们遇到了一些问题,如最短路径算法的优化、语音导航的实时性等。通过查阅资料、讨论和实践,我们成功解决了这些问题。 3、测试与调试:我们对系统进行了全面的测试,包括单元测试、集成测试和系统测试。在测试过程中,我们发现并修复了一些bug,提高了系统的稳定性和可靠性。 4、用户界面设计:我们设计了一个简洁、易用的用户界面,使用户可以方便地使用系统。用户界面包括地图展示、路径规划、语音导航等功能,并支持用户输入和交互。

(整理)校园导航系统罗生存组,李建武,何月甫

数据结构课程设计报告 图书管理系统 题目:图书管理系统 组长:罗生存成员:李建武何月甫 开发日期:2011-12-30 一、需求分析 二、软件功能模块描述 1.数据结构定义模块:模块定义了导航图中各个节点的基本结构类型,主要 采用邻接矩阵的存储结构来真实反映各节点到其他所有节点的路径长(权值大小)。 2.导航图建立模块:采用上述结构体类型对导航图中每个节点进行赋值。包 括:各定点的名称(地点名),各个节点到其他所有节点的真实路径长度(赋权值)。 3.求最短路径模块:本模块的基本思想是采用迪杰斯特拉算法求最短路径。 次模块是本校园导航系统的核心模块,求两点间的最短路径与求一点到其他所有点最短路径两个子功能均是在最短路径算法模块的基础上进行调用,进而实现导航功能。 4.主菜单:主菜单中主要是显示导航图中的所有导航节点,能够快速方便的 对各个地点进行导航。 三、功能模块分析 2.2导航平面图(无向图):

河南科技学院平面图 2.3数据结构描述与定义: 2.3.1节点数据类型 #define MAX_V 30 typedef struct { char* vexs[MAX_V]; //顶点向量 int arcs[MAX_V][MAX_V];//邻接矩阵 int vexnum,arcnum;//图的当前顶点数和弧数 }MGraph; 2.3.2创建导航无向图函数 int CreateUDN(MGraph &G) 函数描述:为每个节点进行命名、每个节点到其他所有各节点的定值用 邻接矩阵进行存储

2.3.3求最短路径函数(迪杰斯特拉算法) void ShortPath(MGraph &G,int v0,int p[MAX_V][MAX_V],int d[]) 函数描述:用Dijkstra算法求无向网G中v0节点到其余节点v的最短路径P[v]及带权长度D[V]。 P[V][W]为TURE,则W是从V0到V当前求得最短路径上的顶点。 Final为TURE,当且仅当V属于S,即已经求得从V0到V的最短路径 2.3.4导航菜单函数 void menu() 函数描述:输出各节点的标号,方便用户操作 四、测试结果与分析 校园导航系统登录界面 导航一:任意两地点之间的最短路径演示图

相关主题
文本预览
相关文档 最新文档