刘鑫成
0ff6efdb73
|
1 year ago | |
---|---|---|
.vscode | 1 year ago | |
code | 1 year ago | |
.gitignore | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 1 year ago |
README.md
UrbanHighwayNavigationSystem
项目名称 城市公路导航系统
杨腾泽,刘鑫成,李培毅,孙英皓
摘要: (1) 基于真实的公路数据建立导航地图模型,编制成格式简单的数据文件包括城市线路名称、站点名称。 (2)系统能够读取公路导航地图数据文件,建立公路模型,也能够将模型输出成数据文件,以便验证模型的正确性。 (3)通过人机交互的方式输入起点和终点站名称,系统给出路径长度最短的导航路径。 (4)能够读取不同的地铁导航地图进行功能测试。
1. 系统分析
通过各种算法,实现公路导航
1.1 问题描述
问题描述和具体要求。
1.2 可行性分析
明确解决问题的关键,核心数据结构,核心算法等。
确定解决问题的总体思路和方案。
1.3 需求分析
(1)输入和输出
输入城市编号,即可显示该城市的具体信息,最短路径等。
(2)数据字典
描述系统中需要处理的所有数据包含的具体信息。例如:
学生 = 学号 + 姓名 + 成绩
(3)数据文件
系统中需要读取xx数据文件以获取xx数据,或者需要导出xx数据。举例说明xx数据文件的具体格式。
(4)参数设定
系统开始运行时,需要设置的参数。可以用户手册的形式给出设定参数的过程,如系统提示信息和用户输入等。
(5)地图信息修改功能
输入修改编号,即可对指定城市进行修改
2. 系统设计
2.1 概要设计
系统划分为几个模块,可以画模块图。
逐个说明每个模块的功能(输入、输出、做什么,这里不写怎么做)。
2.2 数据结构设计
首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
(1)xxx结构
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。多个数据结构,逐一列出。
(2)xxx结构
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。
2.3 算法设计
首先,分析对比几种可选的算法设计方案。如是否排序,广度优先或深度优先搜索等。给出每一种设计方案的特点(优势、不足)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
(1)XXX算法
给出核心算法的设计,包括伪代码或流程图。多个核心算法,逐一列出。只列举解决问题的核心算法,重点讲清楚是如何解决问题的。
(2)XXX算法
给出核心算法的设计,包括伪代码或流程图。
3. 系统实现
说明所使用的语言、开发工具等。
介绍项目的文件结构,以及主要函数的功能。
3.1 核心数据结构的实现
描述数据结构的实现方法。
可以配合程序代码加以说明。如:
struct LNode {
E data; // 数据元素
LNode *next; // 指向下一个结点的指针
};
对该数据结构的特点进行分析。
3.2 核心算法的实现
描述算法的实现方法。
可以配合程序代码加以说明。如:
// 冒泡排序
void bubble_sort(T a[], int n)
{
......
}
对该算法的时间和空间复杂度进行分析。
4. 系统测试
描述测试的思路和方法。比如,先用小数据量进行测试,再用真实数据进行测试。
测试应考虑到输入数据的特殊情况。
给出若干测试用例,包括输入、预期结果、运行结果或是否通过测试。运行结果和预期结果一致,为通过测试。
5. 总结
概况项目和完成情况。
遇到的问题和解决方法。
个人小结:
杨腾泽:
刘鑫成:本次的系统研发研活动,让我体验到了程序开发的复杂性与程序开发成功的自豪感,一个项目的完成离不开一个团队的团结协作,在进行项目时,需要对其进行反复的纠错和改进,在更改和发现中不断地改进和提升自,从而丰富自己。这次团队体验,让我能够初步地体会到一个团队间的分工协作的重要性,成员分工以及项目领导者的重要性,让我受益匪浅
李培毅:
孙英皓:
参考文献
列出参考的文献资料,根据情况自行添加。
[1] 严蔚敏, 吴伟民. 数据结构(C语言版). 北京: 清华大学出版社, 2007.