《数据结构与算法综合实践》结合企业实用软件开发技术,结合实际案例和应用环境,对栈、队列、串、二叉树、阿等重要数据结构和算法中知识单元进行了分析和设计,并在重点训练每一个知识单元编程实践的基础上,结合Cc++、MFcDialog可视化界面和GDI绘图等实用开发技术,通过一个游戏项目贯穿数据结构与算法核心知识,采用迭代开发思路进行每一个功能开发,既应用线性结构知识进行案例编程实践,又应用非线性结构知识进行案例重构,完整训练核心知识单元在企业真实项目中的应用。
《数据结构与算法综合实践》概念清楚,重点突出,强调实战训练,各环节可操作性强,并配有针对性的实训项目,便于讲授和学习。
《数据结构与算法综合实践》既可作为独立开设的“数据结构与算法综合实验”相关实践课程的教材,也可作为数据结构及相关理论课程的实验教材,同时适合作为高等院校“数据结构与算法”实践教学参考用书,也可供从事计算机工程与应用的广大科技工作者参考。
1 概述
1.1 实践目标
1.2 内容安排
1.3 开发环境
第一部 分技术专题
2 栈与表达式求值实践
2.1 实验目标
2.2 实验任务
2.3 分析和设计
2.3.1 表达式组成
2.3.2 核心算法
2.3.3 栈(stack)
2.4 编码实现
2.4.1 创建工程
2.4.2 定义栈(链表)
2.4.3 表达式解析
2.4.4 比较操作符
2.4.5 表达式计算
2.4.6 最终结果
2.5 调试和运行
习题
3 队列与停车场管理程序实践
3.1 实验目标
3.2 实验任务
3.3 分析和设计
3.3.1 数据结构
3.3.2 业务流程
3.3.3 技术分析
3.4 编码实现
3.4.1 创建工程
3.4.2 定义数据结构
3.4.3 车辆入场
3.4.4 车辆离开
3.4.5 查看停车场
3.5 调试和运行
习题
4 串与字符串替换程序实践
4.1 实验目标
4.2 实验任务
4.3 分析和设计
4.3.1 数据结构
4.3.2 业务流程
4.3.3 定位子串在主串的位置
4.3.4 字符串的替换
4.4 编码实现
4.4.1 创建工程
4.4.2 定义串的存储结构
4.4.3 串的基本操作
4.4.4 主函数
4.4.5 扩展优化
4.5 调试和运行
习题
5 二叉树与赫夫曼图片压缩实践
5.1 实验目标
5.2 实验任务
5.3 分析和设计
5.3.1 Huffman树
5.3.2 Huffman编码
5.3.3 压缩过程
5.3.4 压缩与解压
5.3.5 文件操作
5.4 编码实现
5.4.1 创建工程
5.4.2 读取原文件
5.4.3 生成Huffman树
5.4.4 生成Huffman编码
5.4.5 压缩原文件
5.4.6 保存压缩文件
5.4.7 扩展功能
5.5 调试和运行
习题
6 图与景区信息管理系统实践
6.1 实验目标
6.2 实验任务
6.3 分析和设计
6.3.1 程序设计
6.3.2 界面设计
6.3.3 算法设计
6.3.4 数据结构设计
6.4 编码实现
6.4.1 创建工程
6.4.2 定义图
6.4.3 查询景点信息
6.5 调试和运行
习题
7 深度优先搜索与旅游景点导航实践
7.1 实验目标
7.2 实验任务
7.3 分析和设计
7.4 编码实现
7.4.1 导人工程
7.4.2 遍历景区景点图(一条路线)
7.4.3 优化遍历算法(多条路线)
7.5 调试和运行
习题
8 Dijkstra算法与搜索最短路径实践
8.1 实验目标
8.2 实验任务
8.3 分析和设计
8.4 编码实现
8.4.1 导人工程
8.4.2 搜索最短路径
8.4.3 查询最短路径
8.5 调试和运行
习题
9 最小生成树与铺设电路规划实践
9.1 实验目标
9.2 实验任务
9.3 分析和设计
9.4 编码实现
9.4.1 导人工程
9.4.2 构建最小生成树
9.4.3 查询铺设电路规划图
9.5 调试和运行
习题
第二部 分综合实践
10 线性结构与连连看游戏综合实践
10.1 实践目标
10.2 需求分析
10.2.1 项目简介
10.2.2 游戏规则
10.2.3 功能简介
10.3 系统设计
10.3.1 界面设计
10.3.2 程序结构设计
10.3.3 数据结构设计
10.3.4 算法设计
10.4 创建工程
10.4.1 功能需求
10.4.2 设计思路
10.4.3 编码实现
10.5 主界面
10.5.1 功能需求
10.5.2 设计思路
10.5.3 编码实现
10.6 开始游戏
10.6.1 功能需求
10.6.2 设计思路
10.6.3 编码实现
10.7 消子判断
10.7.1 功能需求
10.7.2 设计思路
10.7.3 编码实现
10.8 判断胜负
10.8.1 功能需求
10.8.2 设计思路
10.8.3 编码实现
11 非线性结构与连连看游戏综合实践
11.1 实践目标
11.2 需求分析
11.3 系统设计
11.3.1 程序结构设计
11.3.2 数据结构设计
11.3.3 开局与重排算法
11.3.4 消子判断算法
11.3.5 消子算法
11.3.6 胜负判断算法
11.4 创建工程
11.5 主界面
11.6 开始游戏
11.6.1 功能需求
11.6.2 设计思路
11.6.3 编码实现
11.7 相邻同色消子
11.7.1 功能需求
1L 7.2 设计思路
11.7.3 编码实现
11.8 消子判断
11.8.1 功能需求
11.8.2 设计思路
11.8.3 编码实现
11.9 判断胜负
11.9.1 功能需求
11.9.2 设计思路
11.9.3 编码实现
11.10 扩展功能
11.10.1 提示
11.10.2 重排
12 附录
12.1 参考资料
12.2 C++编码规范
12.2.1 基本原则
12.2.2 命名标准
12.2.3 注释规范
12.2.4 编码规范
12.2.5 排版规范
12.3 MFC应用程序介绍