问题背景:
根据本校的地图,设计一个校园导游系统不少于十个景点,为来往的游客提供指定地标的信息展示和给出两个地标之间的的最短规划路径。
需求分析:
(1) 为来访客人提供图中任意景点相关信息的查询。
(2) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
数据结构的设计:
1、结构体node表示每个地标的信息,如名字,简介,编号
2、用邻接矩阵表示地标间的距离关系与可达关系
逻辑设计:
抽象数据类型:
结构体 node: 表征地标信息;
邻接矩阵:表示地标间的关系;
模块算法:
1、查询地标信息:
2、用Dijkastra算法查询两地标之间的最短路径
物理设计:
存储结构:
1、结构体node表示每个地标的信息,如名字,简介,编号
2、用邻接矩阵表示地标间的距离关系与可达关系
主要函数:
主函数:
显示各地标的基本信息,并且给出菜单栏选项,供游客查询使用。
信息查询函数
输入地标的代号,显示出该地标的简介
最短路径查询:
1、输入量地标的代号
2、用Dijastrast算法寻找两点间的最短路径,同时记录相关结点。
3、依次输出步骤二找到的最短路径的地标结点。
测试数据:
以JUST校园地图为例,景点间的关系如下: