- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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()函数,实际上该
您可能关注的文档
最近下载
- 2025秋国开《形势与政策》形考大作业答案:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.doc VIP
- 机电工程备品备件方案(3篇).docx VIP
- 集装箱多式联运复习试题含答案.doc
- 3.5.2医院感染相关监测(达C档).doc VIP
- 初中英语2024届中考词法复习名词专项练习(真题版)(附参考答案) .pdf VIP
- 大作业:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.docx VIP
- 【7A版】超能分期“商户贷”操作指引.docx VIP
- 数智时代国际中文教育学科的内核与边界.docx VIP
- 2025年北京市西城区高三一模政治试卷及答案.pdf
- 理解性默写 统编版高中语文选择性必修下册.docx VIP
文档评论(0)