|
|
|
@ -20,10 +20,25 @@
|
|
|
|
|
|
|
|
|
|
## 1.1 问题描述
|
|
|
|
|
|
|
|
|
|
问题描述和具体要求。
|
|
|
|
|
设计一个城市公路导航系统,能够计算出省内及周边任意两个城市之间的导航路径及最短距离。选择一个合适的省份,省内及周边城市数量在 100 个左右(最少不低于 80 个)。查阅相关资料获取邻近城市之间的公路里程数据,建立导航地图。任意指定两个城市作为起点和终点,系统能够计算出两个城市之间的最短距离和导航路径。
|
|
|
|
|
|
|
|
|
|
(1)基于真实的公路地图数据建立导航地图模型,编制成格式简单的数据文件,包括城市名称,以及邻近城市之间的公路里程数。
|
|
|
|
|
|
|
|
|
|
(2)系统能够读取导航地图数据文件,建立地图模型,也能够将模型输出成地图数据文件,以便验证模型的正确性。
|
|
|
|
|
|
|
|
|
|
(3)通过人机交互的方式输入起点和终点城市名称,系统给出最短路径和导航路径上途径的城市名称。
|
|
|
|
|
|
|
|
|
|
(4)能够读取不同的导航地图进行功能测试。
|
|
|
|
|
|
|
|
|
|
要求系统运行正常、功能完整;数据结构使用得当,算法有较高的效率;代码规范、可读性高,结构清晰;具备一定的健壮性、可靠性和可维护性。
|
|
|
|
|
## 1.2 可行性分析
|
|
|
|
|
|
|
|
|
|
地图可以用图结构建立模型,每个城市作为图中的一个顶点,城市之间的公路对应图中的边。给定起点和终点的条件下,可以利用最短路径算法求得导航路径。
|
|
|
|
|
|
|
|
|
|
真实的公路地图数据需要经过预先处理,编辑并保存成便于程序读取和处理的格式。在数据量比较大的情况下,要根据数据的特点采用合适的数据结构。
|
|
|
|
|
|
|
|
|
|
除了基于真实数据的测试,还可以采用小规模的模拟数据进行测试,以便验证算法的正确性。
|
|
|
|
|
|
|
|
|
|
明确解决问题的关键,核心数据结构,核心算法等。
|
|
|
|
|
|
|
|
|
|
确定解决问题的总体思路和方案。
|
|
|
|
@ -174,7 +189,5 @@ void bubble_sort(T a[], int n)
|
|
|
|
|
|
|
|
|
|
# 参考文献
|
|
|
|
|
|
|
|
|
|
列出参考的文献资料,根据情况自行添加。
|
|
|
|
|
|
|
|
|
|
[1] 严蔚敏, 吴伟民. 数据结构(C语言版). 北京: 清华大学出版社, 2007.
|
|
|
|
|
|
|
|
|
|
[山东省国道里程表](http://www.onegreen.net/maps/HTML/50213.html)
|
|
|
|
|