- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
校园导游系统文件.doc
课程设计报告
课程名称:数据结构与算法
题目名称:校园导游系统
学生学院:数学与计算机科学系
专业班级: 2016级计算机科学与技术本科班
小组组长: 王明
小组成员 : 王明 郑双凤 吕运发
指导老师:熊小颖 老师
2017 年 10 月 15 日
目录
一、设计目的 ...................................................................................... 3
二、问题描述 ...................................................................................... 3
三、基本要求 ...................................................................................... 3
四、概要设计 ...................................................................................... 3
五、主程序 ......................................................................................... 4
六、测试数据 ..................................................................................... 13
6.1 调试程序所用数据 ....................................................................... 13
6.2 程序的调试结果 ..............................................................................
七、总结 ...............................................................................................
一 、设计目的
随着现代社会生活节奏的加快, 人们外出旅行以寻求放松的时间越来
越多。考虑到游客不可能对所有景点都有所了解, 因此可能无法找到
游玩景点最省时,最高效的路径,而人工导游成本又过高,故使用 C
语言,基于《数据结构》中图的相关算法开发了“南昌师范学院导游
系统”。 开发本系统目的在于为来访我校的游客提供一条最短游览
路径,本系统从实际出发, 通过对校园平面图的分析,将其转化为数
据并保存在系统中,因此系统提供的路径具有较大的可信性。
二、 问题描述
设计校园导游程序, 为来访的客人提供服务, 为来访我校的游客
提供一条在游客当前位置到目的地的最短游览路径, 找到游玩景点最
省时,最高效的路径。
三、 基本要求
1. 假设有一所校园的平面图,所含景点不小于 10 个,请选择适当
的坐标来表示出该图上的各个景点。
2. 为来访的客人提供从当前位置到其他景点的最短路径的咨询;
3. 必须具有校园平面图的修改和扩充功能(即某些景点坐标的修改
和景点个数的增加) 。
四、 概要设计
算法思路
本设计的重难点在于问题二的解决。 利用了弗洛伊德算法函数设
计Floyd() 本算法在设计时参考了 《数据结构 C语言版》 一书中
有关 Floyd 算法的介绍,同时借鉴了如今网上流行的设计方式。
之所以选择本算法来实现计算最短路径, 原因在于本算法容易理
解,可以算出任意两个节点之间的最短距离, 代码编写简单。 但
是,本算法缺点在于时间复杂度过高, 不适合用于计算大量数据。
Floyd 算法首先将两景点间路径长度数据存储于数组 D[v][w]中,
而后使用一个三维数组用于存放最短路径所经过的顶点, 接下来
使用三重循环判断两景点之间直接路径是否大于间接路径, 若大
于,则将三维数组中存放的顶点信息更改为简介路径所经过的顶
点信息。以上部分完成后,当用于标记输入数据是否合法的
flag=1时,输出错误信息,提示用户重新输入,当输入数据合法
时,输出以上程序得到结果。
五、 主程序
#includestdio.h
#includestdlib.h
#define MAX_VERTEX_NUM 100 最// 大顶点数
#define MAX_INT 10000 //无穷大
typedef int AdjType;
typedef struct{
int pi[MAX_VERTEX_NUM];/存/
文档评论(0)