- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构应用设计设计报告-Read
数据结构应用设计设计报告
题目名称:_ 校园导游系统模拟
设计环境:__ VC++ 6.0_____________
指导教师:______________________
专业班级:___ ____________
姓 名:___ __________________
学 号:_ __ _______________
联系电话:_______________
电子邮件:__xiaohan_music@126.com_
设计日期:??2006 年 12? 月16 日至?2007? 年?1 月 6 日
设计报告日期:?? 2007? 年?1? 月?7? 日
教师评语:
设计成绩:____________ 指导教师签名:____________
【摘要】数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已成为其他理工专业的热门选修课。从课程性质上讲,数据结构是一门专业技术基础课。它的教学要求是:学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构,存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确意读,符合软件工程的规范。如果说高级语言程序设计的训练过程,要进行了结构化的程序设计的初步训练的话,那么数据结构就要培养我们的数据抽象能力。本次设计其实就是数据结构中图类的问题。将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。这也是计算机代替人工的一个实例,也是软件工程必不可少的基础。
【关键词】数据结构 图 结点 边 权 景点 路径 距离
目录
一.问题描述 5
二.设计思路 5
三.详细设计过程 5
3.1 景点基本信息的设计 5
3.2 顺序表的设计 6
3.3 图类的设计 6
3.4 求最短路径的设计 8
3.5 综合设计 10
四.结论 11
五.体会 11
六.参考文献 12
一.问题描述
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
设计学校的校园平面图,所含景点不少于6个。以图中顶点表示校内各景点,存 放景点名称、代号、间介等信息;以边表示路径,存放路径长度等相关信息。
为来访客人提供图中任意景点相关信息的查询。
提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。
二.设计思路
校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用狄克斯特拉(Dijkastra)算法实现。最后用switch选择语句选择执行浏览景点信息或查询最短路径。
三.详细设计过程
3.1 景点基本信息的设计
为了方便操作,每一个景点名称用一个代码表示,因此景点基本信息设计成结构体类型,此类型包含两个成员变量:景点名称及其代码。在此我设计了10个景点,具体如下:
struct Sight
{
char Name[40];
int Num;
}W[10] = {{柳池, 1},{北山体育场, 2},{龙山体育场, 3},{老区图书馆, 4},
{西科花园, 5},{科技中心, 6}, {行政楼, 7},{九洲湖,8},
{逸夫图书信息中心,9},{新区运动场,10}};
3.2 顺序表的设计
一个景点存在自己的名字和代码等信息,两个景点之间有一个距离,由于系统模拟中要用到这些参数,因此可用顺序表来存储这些参数。
在顺序表中频繁存取数据,必然少不了存取操作,因此顺序表中需要设计一个插入函数void Insert(DataType item,int pos)const和一个删除函数DataType Delete(const int pos) 。当在顺序表的pos存入一个数据item时,pos后的每一个元素依次后移;当删除pos处的数据元素时,pos后的元素依次前移。当求最短路径时需要取某个景点或某条路径的值,所以还需设计取值函数DataType GetData( int pos)const。另外顺序表中的一些基本函数也是必
文档评论(0)