目录
项目2:校园导游咨询
一.问题分析和任务定义
二.逻辑设计
数据结构设计
具体设计方法
抽象数据类型
三.物理设计
结构框架
四.测试数据
测试结果
项目2:校园导游咨询
一.问题分析和任务定义
(1)不少于10个景点;
(2)可以查询各景点信息
(3)能为客人提供任意两个景点间的最短路径;
二.逻辑设计
数据结构设计
以无向图作为数据结构,图中顶点分别以1~n编号,并存储顶点信息:编号,名称,简介;
以邻接矩阵存储边的信息:顶点间的可达与否,边的权重;
具体设计方法
设计景点类,包含数据成员:景点编号、景点名称、景点简介。图中每个顶点代表一个景点;
设计道路类,每条边即为一条道路,包含数据成员:起点,终点,权重;
设计地图类,即顶点和边组成的无向图;
抽象数据类型
ADT 校园导游咨询
Operation
初始化
输入:无
功能:按照初始数据创建无向图
输出:无
查看地图
输入:无
功能:显示地图
输出:无
景点信息查询
输入:景点编号
功能:提供景点详细信息
输出:景点信息
查看所有景点
输入:无
功能:提供所有景点信息
输出:所有景点信息
路径查询
输入:任意两个景点的编号
功能:提供两个景点间的最短路径
输出:两景点间的路径导航以及路程
退出
输入:无
功能:退出该系统
输出:无
endADT
三.物理设计
用二维邻接矩阵存储任意两点间的距离
(1)主方法设计
伪代码:
创建无向图,顶点个数为n;
初始化邻接矩阵;
switch{
选择功能;
}
执行相应方法,实现功能;
(2)查询景点信息
伪代码: 输入景点编号; 遍历景点数组,查询编号; 按规定格式输出景点信息;
(3)查询两点间最短路径
伪代码: 输入任意两个景点编号; 由编号根据Dijkstra算法,得到两点间最短路径; 输出最短路径距离;
结构框架
四.测试数据
以江苏科技大学校园为例
| 景点名 | 编号 |
|---|---|
| 西学生宿舍 | 1 |
| 西苑食堂 | 2 |
| 超市 | 3 |
| 文理大楼 | 4 |
| 操场 | 5 |
| 文体中心 | 6 |
| 南门 | 7 |
| 笃学楼 | 8 |
| 东学生宿舍 | 9 |
| 图书馆 | 10 |
| 计算机学院 | 11 |
| 北门 | 12 |
| 海韵湖 | 13 |
测试结果
输入3、12



