You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
4.5 KiB

2 years ago
# 迷宫生成器
2 years ago
2 years ago
张桐桐,李玉璇,孟婷玉,周羽凡
2 years ago
2 years ago
**摘要**:设计一个程序随机生成指定大小的迷宫。一个迷宫是由 $M \times N$ 个方格组成的矩形区域,每个方格的四周可能存在墙,相邻的两个方格之间如果没有墙的阻隔则可以通行,否则无法通行。要求系统运行正常、功能完整;数据结构使用得当,算法有较高的效率;代码规范、可读性高,结构清晰;具备一定的健壮性、可靠性和可维护性。
2 years ago
2 years ago
任务分工及完成情况。
2 years ago
每个成员的工作量(百分比):
2 years ago
2 years ago
| 张桐桐 | 李玉璇 | 周羽凡 |孟婷玉|
| ---- | ---- | ---- |----|
| 30 | 30 | 20 | 20 |
2 years ago
# 1. 系统分析
## 1.1 问题描述
2 years ago
问题描述和具体要求。
2 years ago
## 1.2 可行性分析
2 years ago
明确解决问题的关键,核心数据结构,核心算法等。
2 years ago
2 years ago
确定解决问题的总体思路和方案。
2 years ago
## 1.3 需求分析
### 1输入和输出
2 years ago
确定系统的主要输入和输出,如可以设定的参数,数据文件等,明确其主要作用。
2 years ago
### 2数据字典
2 years ago
描述系统中需要处理的所有数据包含的具体信息。例如:
2 years ago
2 years ago
学生 = 学号 + 姓名 + 成绩
2 years ago
### 3数据文件
2 years ago
系统中需要读取xx数据文件以获取xx数据或者需要导出xx数据。举例说明xx数据文件的具体格式。
2 years ago
### 4参数设定
系统开始运行时,需要设置的参数。可以用户手册的形式给出设定参数的过程,如系统提示信息和用户输入等。
### 5XX功能
2 years ago
其他具体功能。
2 years ago
2 years ago
首先简要说明该功能的主要作用,可以用户手册的形式给出系统提示信息、用户输入和系统输出等。
2 years ago
### 6XX功能
2 years ago
其他功能逐项列出。
2 years ago
# 2. 系统设计
## 2.1 概要设计
2 years ago
系统划分为几个模块,可以画模块图。
2 years ago
2 years ago
逐个说明每个模块的功能(输入、输出、做什么,这里不写怎么做)。
2 years ago
## 2.2 数据结构设计
首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
### 1xxx结构
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。多个数据结构,逐一列出。
### 2xxx结构
2 years ago
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。
2 years ago
###
## 2.3 算法设计
首先,分析对比几种可选的算法设计方案。如是否排序,广度优先或深度优先搜索等。给出每一种设计方案的特点(优势、不足)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
### 1XXX算法
给出核心算法的设计,包括伪代码或流程图。多个核心算法,逐一列出。只列举解决问题的核心算法,重点讲清楚是如何解决问题的。
### 2XXX算法
2 years ago
给出核心算法的设计,包括伪代码或流程图。
2 years ago
# 3. 系统实现
2 years ago
说明所使用的语言、开发工具等。
2 years ago
2 years ago
介绍项目的文件结构,以及主要函数的功能。
2 years ago
## 3.1 核心数据结构的实现
2 years ago
描述数据结构的实现方法。
2 years ago
2 years ago
可以配合程序代码加以说明。如:
2 years ago
```cpp
struct LNode {
E data; // 数据元素
LNode *next; // 指向下一个结点的指针
};
```
2 years ago
对该数据结构的特点进行分析。
2 years ago
## 3.2 核心算法的实现
2 years ago
描述算法的实现方法。
2 years ago
2 years ago
可以配合程序代码加以说明。如:
2 years ago
```cpp
2 years ago
// 冒泡排序
void bubble_sort(T a[], int n)
{
2 years ago
......
2 years ago
}
2 years ago
```
对该算法的时间和空间复杂度进行分析。
# 4. 系统测试
描述测试的思路和方法。比如,先用小数据量进行测试,再用真实数据进行测试。
测试应考虑到输入数据的特殊情况。
给出若干测试用例,包括输入、预期结果、运行结果或是否通过测试。运行结果和预期结果一致,为通过测试。
# 5. 总结
2 years ago
概况项目和完成情况。
2 years ago
2 years ago
遇到的问题和解决方法。
2 years ago
2 years ago
个人小结:
2 years ago
2 years ago
成员1
2 years ago
2 years ago
成员2
2 years ago
2 years ago
成员3
2 years ago
2 years ago
成员4
2 years ago
2 years ago
成员5
2 years ago
# 参考文献
列出参考的文献资料,根据情况自行添加。
[1] 严蔚敏, 吴伟民. 数据结构C语言版. 北京: 清华大学出版社, 2007.