数据结构课程设计报告延安市旅游导游系统.docVIP

数据结构课程设计报告延安市旅游导游系统.doc

  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文档。上传文档
查看更多
西安郵電學 计算机学院 学生姓名 高 丹 专业名称 计算计算机科学与技术技术专业 班 级 科11106 学号 指导教师 衡 衡 霞 时间 2012年12月15日 至 2012年12月21日 实验题目 延安市旅游导游系统 一、实验目的 1.加深对《数据结构》这一课程所学内容的进一步理解与巩固 2.通过完成课程设计,逐渐培养自己的编程能力; 3.培养给出题目后,构建框架,用计算机解决的能力; 4.通过调试程序积累调试C程序设计的经验; 二、实验内容 编写一个延安市旅游导游系统,其中有平面图,有景点列表,可以查询景点简介,也可以查询两个景点间的最短路径,中转次数最少路径以及所有路径,其中要用到数据结构中的图的部分的知识。 三、需求分析 1.开发系统功能描述 (1)菜单类函数 void MenuShow()主界面菜单函数 void MenuShow0()输出延安市旅游景点平面图 void MenuShow1()延安市简介 void MenuList()旅游景点列表 void S_Menu()查询菜单 (2)查询两点间最短路径.(权值最小) Shortroad(MGraph *G)弗洛伊德法来查询两点间最短路径 (3)查询两点间所有路径 Depsearch(MGraph *G,int v,int w) allroads(MGraph *G) 利用深度优先遍历图,递归的思想来完成所有路径的查找 (4).查询中转次数最少的路径 int IsEmpty(LinkQueue *Q)判断队是否为空函数 int InitQueue(LinkQueue *Q)初始化队列函数 int EnterQueue(LinkQueue *Q,int x)进队函数 int DeleteQueue(LinkQueue *Q,int *x)出队函数 int NextAdjVertex(MGraph *G,int w,int v)求当前顶点的前一个顶点函数 void BFS(MGraph *G,int vi,int vj) void Reseach(MGraph *G) 广度优先遍历图,递归思想完成查询中转次数最少的功能 (5).确定顶点位置函数 int LocateVertex(MGraph * G, char v[])确定当前顶点所在矩阵位置函数 (6).查询景点简介函数 void Search_K (MGraph * G) 按景点名称查询 void Search_N (MGraph * G)按景点编号查询 (7).文件保存以及读出函数 int read_info(MGraph *G)文件保存函数 int save_info (MGraph * G)文件读出函数 (8).平面图的创建函数 MGraph * CreatUDN(MGraph *G)平面图创建函数,若们有文件,则重新建立文件并保存 (9).主函数 void main(void) 四、概要设计 1、方案设计 整个程序要实现的功能是导游功能,平面图如果文件里面有存储的话便从文件读出,如果没有存储便创建文件存储。 其中可以实现的功能为:按景点名称查询,按景点编号查询,查询两点间的所有路径,查询两点间的最短路径,查询两点间中转次数最少的路径。按景点名称查询和按景点编号查询在此不做赘述,重要介绍其他三种查询方式。 查询两点间所有路径:该查询方法应用的是深度优先遍历平面图的方法,其中定义两个数组,visit[]用来标记已遍历过的结点,path[]用来存储已找到景点的编号,利用递归的思想一层一层向下遍历,最后打印出path[]数组便可完成该功能。 查询两点间最短路径:该查询方法应用的是弗洛伊德算法,定义的两个二维数组D[][]和Q[][],其中Q数组是用来存储查询到最短路径的景点矩阵的,D数组是用来比较每两个景点之间的权值,每得到一个最小值便将D数组刷新一次,将最后结果存入Q数组。 查询两点间中转次数最少的路径:利用广度优先思想遍历平面图。其中应用的队列的知识。先将最后一个顶点入队,然后利用NextAdjVertex函数求它的上一个结点,利用递归思想一直找到最开始的一个结点。 景区图: 延安市主要景点平面图 ↑北 延安

文档评论(0)

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

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

1亿VIP精品文档

相关文档