没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计报告----景区旅游信息管理系统.doc

温馨提示


试读
45页
在旅游景区,经常会遇到游客打听从一个景点到另一个景点的最短路径和最短距离,这类游客不喜欢按照导游图的线路来游览,而是挑选自己感兴趣的景点游览。为于帮助这类游客信息查询,就需要计算出所有景点之间最短路径和最短距离。算法采用迪杰斯特拉算法或弗洛伊德算法均可。建立一个景区旅游信息管理系统,实现的主要功能包括制订旅游景点导游线路策略和制订景区道路铺设策略。 任务中景点分布是一个无向带权连通图,图中边的权值是景点之间的距离。 (1)景区旅游信息管理系统中制订旅游景点导游线路策略,首先通过遍历景点,给出一个入口景点,建立一个导游线路图,导游线路图用有向图表示。遍历采用深度优先策略,这也比较符合游客心理。 (2)为了使导游线路图能够优化,可通过拓朴排序判断图中有无回路,若有回路,则打印输出回路中的景点,供人工优化。 (3)在导游线路图中,还为一些不愿按线路走的游客提供信息服务,比如从一个景点到另一个景点的最短路径和最短距离。在本线路图中将输出任意景点间的最短路径和最短距离。 (4)在景区建设中,道路建设是其中一个重要内容。道路建设首先要保证能连通所有景点,但又要花最小的代价,可以通过求最小生成树来解决这个问题。本任务中假设修建道路的代价只与它的里程相关。 归纳起来,本任务有如下功能模块:(1)创建景区景点分布图;(2)输出景区景点分布图(邻接矩阵)(3)输出导游线路图;(4)判断导游线路图有无回路;(5)求两个景点间的最短路径和最短距离;(6)输出道路修建规划图。(7)主程序用菜单选项供用户选择功能模块。
资源推荐
资源详情
资源评论



















数据结构课程设计报告
题目 景区旅游信息管理系统
院 系 计算机与控制工程学院
专 业 计算机科学与技 术

班 级
姓 名
学 号
指导教师
2019 年 12 月 18 日

目录
1 项目描述.........................................................................................................................1
2 数据及其逻辑结构分析.................................................................................................1
3 数据的存储结构设计.....................................................................................................4
4 项目主要算法.................................................................................................................5
5 项目的程序实现.............................................................................................................7
6 项目实现结果.................................................................................................................9
附录:源程序..................................................................................................................15

1 项目描述
在旅游景区,经常会遇到游客打听从一个景点到另一个景点的最短路径和
最短距离,这类游客不喜欢按照导游图的线路来游览,而是挑选自己感兴趣的
景点游览。为于帮助这类游客信息查询,就需要计算出所有景点之间最短路径
和最短距离。算法采用迪杰斯特拉算法或弗洛伊德算法均可。建立一个景区旅
游信息管理系统,实现的主要功能包括制订旅游景点导游线路策略和制订景区
道路铺设策略。
任务中景点分布是一个无向带权连通图,图中边的权值是景点之间的距离。
(1)景区旅游信息管理系统中制订旅游景点导游线路策略,首先通过遍历
景点,给出一个入口景点,建立一个导游线路图,导游线路图用有向图表示。
遍历采用深度优先策略,这也比较符合游客心理。
(2)为了使导游线路图能够优化,可通过拓朴排序判断图中有无回路,若
有回路,则打印输出回路中的景点,供人工优化。
(3)在导游线路图中,还为一些不愿按线路走的游客提供信息服务,比如
从一个景点到另一个景点的最短路径和最短距离。在本线路图中将输出任意景
点间的最短路径和最短距离。
(4)在景区建设中,道路建设是其中一个重要内容。道路建设首先要保证
能连通所有景点,但又要花最小的代价,可以通过求最小生成树来解决这个问
题。本任务中假设修建道路的代价只与它的里程相关。
本工程旨在完成上述所说的各种功能。
2 数据及其逻辑结构分析
ATD Complex{
数据对象:
D1={ PlaceName[MAX],number}//一个 Node 由一个字符数组 PlaceName 和一个
整数 number 组成
D2={mp[MAX][MAX] ,nn,ee}//一个 MatGraph 由一个整数二维数组 mp 和两个
整数 nn,ee 组成
D3={key,infor,*lchild,*rchild}//一个 BSTNode 由一个整数 key 和一个 Node 数
据类型 infor 和两个指针域 lchild,rchild 组成
D4={adjvex,weight,*nextarc}//一个 ArcNode 由两个整数 adjvex,weigh 和一个
指针域 nextarc 组成}
1

D5={*fitstarc , ct} 一 个 VNode 由 一 个 ArcNode 指 针 域 和 一 个 整 数 ct 组 成
D6={adjlist[MAX],n,e}一个 AdjGraph 由一个 VNode 类型一维数组 adjlist 和两
个整数 n,e 组成
数据关系:
R1={ ( <PlaceName[i],PlaceName[i+1]>,number ) | PlaceName[i]是 Node 中景点的
名字,number 是 Node 中景点的编号}
R2={ (<mp[i][j],mp[i][j+1]> ,nn,ee) | mp[i][j]是 MatGraph 中存储各景点信息的
二维数组,nn 是顶点个数,ee 是边数}
R3={ (key , infor , *lchild , *rchild) | key 是 BSTNode 中 的 关 键 字 , infor 是
BSTNode 中的景点信息,lchild 是 BSTNode 中左指针域,rchild 是 BSTNode 中右
指针域}
R4={ (adjvex , weight , *nextarc) | adjvex 是 ArcNode 中 结 点 编 号 , weight 是
ArcNode 中结点权重,nextare 是 ArcNode 中下一个结点域}
R5={ (*fitstarc,ct) |firstare 是 VNode 中的头节点,ct 是 VNode 中的入度}
R6={ (<adjlist[i],adjlist[i+1]>,n,e) | adjlist[i]是 AdjGraph 中的存储结点信息的一
维数组,n 是顶点个数,e 是边数}
基本运算:
Read(Node Place[],int n,int e): 读取 Place[]中存储的景区信息。
CreadMat(MatGraph &Map, int n, int e): 传入邻接矩阵的顶点 n 和边 e 的
信息,创建景区的邻接矩阵,。
InOrder(BSTNode *bt): 线索二叉树中序输出,在 bt 不为空的情况下以
递归形式输出。
outputmap(MatGraph Map,int n): 输出景区地图,邻接矩阵形式输出,该
邻接矩阵应为对称矩阵。
CreatMatGragh(MatGraph &Map, int n, int e): 创建导游有向图,传入有向
图的顶点数和边数。
MAtToList(MatGraph g, AdjGraph *&G): 将邻接矩阵 g 转换成邻接表
G。
DispAdj(AdjGraph *G): 输出邻接表 G,查看某个景点能直接到达的景点。
DFS(AdjGraph *G, int v): 从导游入口即开始顶点深度优先搜素导游线路图
2
剩余44页未读,继续阅读
资源评论

- DaiMaDaiMaDaiMaDaiMa2020-08-31#include "zxthead.h"是什么?0k-ok2020-09-06自己写的头文件啊,不用尖括号,用引号

0k-ok
- 粉丝: 647
- 资源: 22
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
