数据结构课程实验二预习:校园导游咨询
目录
`
一、实验要求
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。
(2) 为来访客人提供图中任意景点相关信息的查询。
(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
【测试数据】
以江苏科技大学长山校区为例。
【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网.顶点和边均含有相关信息.
二、分析问题及设计思路
1.学校大图及简化图
简化图
2.流程图
3.数据逻辑结构:
该景点图为无向连通图,权值为路径长度,当任意两个景点没有邻边连接时,权值设为无穷大(用一很大的数表示即可,这里设置为10000)。
4.数据的存储结构:
采用一个一维数组vertex[i]存储景点信息,则应该开辟一个结构体数组;其次使用邻接矩阵adj[i][j]存储相应景点的权值关系:如果两景点有邻边:邻接矩阵adj[i][j]为相应权值(路径长度),反之adj[i][j]为无穷值,自身与自身的情况adj[i][i]应为0,按照上述原则即可初始化生成无向图G<V,E>。为便于动态的管理该景点图,使用文件存储相关信息,当发生变更时(比如新增加景点,新修的一条路),则可在文件中填充相关信息,避免在程序相关代码处进行更改,提高效率,同时vertex和adj应为一级指针,二级指针便于实现动态管理。
三、总结
提示:这里对文章进行总结:
1.学会简化模型,简化问题,简化做法;
2.辅助流程图等分析数据结构。