校园导航系统课程报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
校园导航系统课程报告

数据结构课程设计报告 题目: 校园导航系统 学生姓名: 谌 幼 华 学 号: 班 级: 091108 指导教师: 邹国华 2011 年 6 月 3 日 目 录 一、需求分析说明…………………………………………….………3 二、总体设计…………………………………………….…….…...3 三、详细设计………………………………………………..….……5 四、实现部分……………………………………….……………..…8 五、程序测试……………………………………………………….…13 六、总结……………………………………………………….………15 七、参考文献…………………………………………………….……15 校园导航系统 一、需求分析说明: (一)课程设计目的:本课程设计的目的就是要达到理论与实际应用相结合,使我们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。 (二)设计要求:设计一个校园导航系统,为来访的客人提供导航服务,具体要求: 1. 设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。为来访客人提供图中任意景点相关信息的查询。提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径 东华理工大学学校平面图 2.系统功能图: 三、详细设计: 一、按所设想的功能,把程序化分为7个模块,各模块的名称和其数据类型如下表所示: 源文件 函数名或其他成分 功 能 校园导航.cpp Main() 主函数 Menu() 主菜单函数 Create() 建立邻接矩阵 shortest_path() 单点到其他点所有最短路径 Pointpath() 任意两点间最短路径 Chaxun() 查询学校基础设施概况 Exit() 跳出程序 各模块的说明如下: 1.类模块:本系统中只涉及了一个Graph(无向网类)类,其数据成员为无向网的相关信息,例如图的邻接矩阵(程序中用数组arcs[n+1][n+1]存放有关邻接矩阵的相关信息)、原点到各定点的相关信息(存放在dist[n+1数组中])、最短路径上该顶点的前一顶点相关信息(存放在path[n+1]数组中)、以求得到的最短路径上的顶点的顶点号(存放在s[n+1]数组中),同时将求最小路径的实现函shortest_path()定义为其成员函数。 2.具体函数模块: (1)Main主函数 调用各函数,实现课程设计的目标。本系统主函数设计非常简洁,就是反复调用菜单函数menu(),具体的函数调用代码都设计在菜单函数当中,这样使整个系统函数看起来简单明了。 (2)Create()函数 此函数用于建立一个以东华理工大学平面图为蓝本的邻接矩阵,用于对全校各景点间路径信息以及任意两点间路径权值的初始化,为稍后求最小路径工作做铺垫。在此函数当中,各个景点间的相关信息(有无直达的边,边的权值)已经写在函数体中。 (3)shortest_path() 该函数核心代码为迪杰斯特拉算法,用以求任意两景点之间最短路径。具体思想为设置并逐步扩充集合S,存放以求出的最短路劲的顶点,尚未确定最短路径的顶点放置在另一集合V中,按最短路径长度的递增顺序将V中的顶点加到S中,直到S中包含所有顶点。实现过程中引入了一个辅助数组dist,它的每一个分量dist[i]表示当前找到的从原点到终点的最短路径的长度。 (4)Pointpath() 该函数在以迪杰斯特拉为原型的基础上稍加改变,在采用迪杰斯特拉算法时新增一个终点参数,在输出最小路径时不需要使用for循环将所有原点与其他顶点的路径信息输出,只需输出起点和终点两点间的最短距离即可。 (5)liangdian() 此函数为一辅助函数,该函数体中调用了shortest_path(),实际上该函数的功能就是求出一点到其他所有点的最小路径,只不过为了更好在函数调用过程中理清各函数间的关系同时也是为了使界面设计过程中避免各基础函数代码冗余,从而引进该函数做辅助用。 (6)dandian() 此函数作用跟上一函数一样也是做辅助用。该函数体中调用了Pointpath()函数,实际上该

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档