- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构三级报告终极版.
《数据结构》三级项目报告
北京市旅游景点导航程序设计
学生 姓名: 冯星伟
学 号: 窦燕 李季辉 李可
日 期: 2014年 1月1号摘要
本程序通过字符数组、图的数组表示法两种方法,呈现了包括景点名称、景点介绍、各景点间距离等相关数据的北京市旅游景点平面图。进入导航程序后,可根据需要分别实现北京市旅游景点总览、景点介绍、最短路径查询三大功能。其中计算最短路径使用了弗洛伊德算法。
北京市旅游景点导航图共包括14个著名旅游景点,方便游客根据自身兴趣浏览景点信息,进而选择想要参观的景点,并可通过最短路径查询的功能设计出最佳的旅游路线。这也是设计小组的成员根据自身的旅游经验设计的功能,总体来讲,本小组力图通过自身知识对我国的旅游行业贡献绵薄之力。
关键词:旅游导航、图、最短路径、弗洛伊德算法目录
摘要 2
目录 3
前言 4
正文 5
(a) 研究内容的基本原理 5
(b) 所采用的研究方法及相关工具 5
(c) 项目的方案设计 5
(d) 研究结果并讨论 5
结论 6
参考文献 7
前言
北京作为中国首都是不可忽略的旅游胜地,它不仅充满着古城的气息而且还包含着现代化最先进的科技艺术,这种形式造成了人们极想要一饱此都的风韵。身为一位旅游者在北京旅途中不小心就会错过许多的特色景点。对与一个游客来说,最首要的要求就是知道他所在的景区有多少可以参观的地方并且能够知晓这些景点的简写。在这种情况下,我们的程序应运而生。本程序旨在考察本小组成员在本学期关于数据结构课程的知识的学习情况,同时加强我们对于C语言的理解和熟练运用。本程序可以为游客提供详尽的景点清单,同时为游客提供每个景点的基本介绍以及最佳的旅游路线。
目的:
考察本学期数据结构课程的学习情况
设计出方便游客旅游的北京市旅游导航程序
范围:
1.通过小组成员的旅游经验确定了该导航程序应该具备的功能,以便确定设计该程序大方向,以及所需准备的各种材料。
2.通过网络查询了北京市的若干著名旅游景点以及各旅游景点的介绍。
3.通过网络查询已有的旅游地图所包含的功能,取其精华,补其不足。
预期结果:
本小组成员预想通过设计该导航程序方便游客了解北京市的著名旅游景点的信息以及以设计旅游路线。
项目分工:
小组成员先是就实际问题做了分析研究,并结合所学知识确定了程序所要实现的具体功能,并设计出导航图的基本模型。王帅男同学主要负责对程序进行调试及函数编写,冯星伟同学主要负则查询以及编辑景点资料资料和后期程序的界面进行完善,王星洁主要负责对程序进行后期调试。正文
研究内容的基本原理
本程序需要存储景点名称及景点间的距离关系,所以我们自然而然的选择了图结构。考虑到图由顶点及弧或边构成,和在一起较困难,自然的就分为两个结构来分别存储。顶点不分大小、主次,所以我们选择一位字符数组来进行存储,而弧是顶点与顶点间的关系,所以我们采取二位数组。于是邻接矩阵方案就诞生了。
图的邻接矩阵存储方式(Adjacency Matrix)存储方式使用两个数组来表示图。一个一位数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。
例如,以二维数组存储有4个顶点的的邻接矩阵(图一),需存放42个弧信息的存储量。若考虑无向图的邻接矩阵的对称性,则可采用压缩存储的方式只存入矩阵的下三角(或上三角)元素。在程序中我们采取的是有向图的运用。(矩阵可见图二)
构造一个具有n个顶点和e条边的无向图G的时间复杂度是O(n2+e*n),其中对邻接矩阵G的初始化耗费了O(n2)的时间。
通过图二可见,邻接链表的顶点数越高数据量越大。在数据量达到一定数量的时候并不建议使用邻接链表方法。
(b) 所采用的研究方法及相关工具
本程序以Visual C++ 6.0平台下的控制台程序为基础进行开发,Visual C++ 6.0平台是为开发大型程序而研制的,它比C语言困难得多,它功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,完全适合于编写系统软件。本组通过其控制台程序,建立了菜单函数,使用者可通过阅读菜单来进行不同需求的操作。
(c) 项目的方案设计
1.读取使用者所输入的地图TXT文本文件名称,在本程序的存储目录下进行查找匹配,若查找到则打开文件准备读取。
2.读取文件中的顶点个数,并且依照顶点个数大小为顶点名称字符数组、顶点描述字符数组与邻接矩阵分配足够的空间。
3.依次序读取顶面名称及其描述与邻接矩阵。
4.进入功能菜单,依照使用者要求分别调用函数进行计算。
(d) 研究结果并讨论
1. 导入成功画面
菜单界面
输出所有景点名称画面
景点信息查询
文档评论(0)