- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
西安郵電大学
数据结构课程设计报告
题 目: 校园导游系统
院系名称:专业名称:班 级:学生姓名:学号(8位):指导教师:
设计起止时间:2013年12月16日~2013年12月27日
一.设计目的
了解二叉树特性、存储及其操作实现,在计算机领域运用二叉树编译代码实现一件简单实际的操作,熟练掌握二叉树的三种遍历递归与非递归的实现;
掌握图的两种遍历深度优先遍历和广度优先遍历,了解两者的区别和优缺点。学习在计算机中表示和处理图形结构以及绘制简单的地图并输出,熟练掌握图的逻辑结构和存储结构,学习用算法来解决实际问题;
掌握邻接链表和邻接矩阵的存储结构,以及这两者的区别,会用邻接链表和邻接数组两种方法来实现数据的存储与读取;
巩固文件的存储与读取部分,以便能够加深对文件读写的理解和更好的更熟练的实际应用;
学会用计算机解决实际问题,将生活中的问题数据化,然后输入到计算机中以便更快的解决,提高自己的实践能力以及自身的学习能力,加深对课本知识的理解和掌握。
二.设计内容
1设计题目:设计一个校园导游程序,并按各要求进行编程:要求:
设计并显示学校的校园平面图,地点(地点名称、地点介绍),路线(公里数)均不少于10个。
提供图中任意地点相关信息的查询。
提供图中任意地点的问路查询:
1任意两个地点之间的一条最短的简单路径;
(最短路径长度——中转次数最少)
2任意两个地点之间的一条最佳访问路线;
(带权(公里数)最短路径长度)
3任意两个地点之间的所有简单路径。
提供图中所有地点的最佳布网方案;
增加新地点和路线、撤销旧地点和路线。
三.概要设计
功能模块图:
创建新地图Create()
查看西邮地图
显示基本信息
查询路线基本状况
添加新路线
校园导
游 功
系 能
统 菜
mai 单
n()
撤销旧路线
增加新景点
撤销旧景点
最短路径查询
最短连通路径查询
查看所有景点详情
查看所有景点名称
查看所有简单路径
查看中转次数最少路径
0.退出系统
各个模块详细的功能描述。
该导游系统能为来访者提供包括景点介绍、景点查询、仿真地图、最短路径之类的快捷指导。最短路径查询和景点概况主要运用了Dijstra算法来实现,其他功能都是通过一些简单的算法来编写的。所谓系统,也不尽然,只是一个小小的信息提示。其中主要运用到的程序、算法也较简单。除了可以创建一个新的地图外,其主要功能还有以下几点:
查看西邮地图,自制的西安邮电大学方针地图,地图上标有景点名称以及编号和各景点之间的距离,方便更直观的了解本校的景点分布;
显示基本信息,显示每一个景点可直达的景点路径和距离;
查询路线基本状况,查询从任意一个景点出发到其余各景点之间距离最短的路径,提供给旅客最简单的路线介绍;
添加新路线,在原有路线的基础之上,新增一条路线并保存到文件里面(该功能中新增路线的两端只能是目前地图上已有景点);
撤销旧路线,在原有路线的基础之上,删除一条废弃不用的路线并将删除后的信息保存到文件里面;
增加新景点,在原有景点的基础之上,添加一个新的景点并保存到文件里面,添加景点包括景点名称和景点详细介绍;
撤销旧景点,就是在原有景点的基础之上,删除一个废弃或拆迁的景点并将删除后的信息保存到文件里面;
最短路径查询,只需要从键盘输入起点和终点的景点编号,就可以找出这两点之间的最短路径;
最短连通路径查询,从键盘输入起始景点的编号,就可以找出一条最短连通路,方便旅客找出一条参观所有景点的最佳路径;
查看所有景点详情,可以输出所有景点的编号、名称以及该景点的详细介绍,供旅客选择自己喜欢的地方;
查看所有景点名称,输出所有景点名称,让旅客知道本校的所有景点;
查看两个景点的所有简单路径,输出两个景点之间的所有简单路径供给旅客选择;
查看中转次数最少路径,输出两个景点之间途径地方最少的一条路径。
四.详细设计
Del(G)Save(G)
Del(G)
Save(G)
Add(G)
Delvex(G)
Addvex(G)
Mintree(G)
Infor(G)
Shortcut(G)
Main()read()
Map()
Display(G)
Infor(G)
Information(G)
exit(0)
Serach(G)
Search_All(G,0)
Search_All(G,1)
各功能函数的数据流程图;
创建新地图
输入
输入G-vexnum,G-arcnum
i=1
i=G-vexnum
输入第i个景点的名称和详情
i++
输入G-arcnum条路线
将景点信息和路线存入文件
输出所有景点详情
开始
开始
i=1
i=G-vexnum
输出G-vex[i].name
结束
输出G-vex[i].info
文档评论(0)