第1部分 预备篇
第1章 数据结构和算法概述
1.1 数据结构的基本概念
1.1.1 学习数据结构的意义
1.1.2 有关概念和术语
1.2 算法的概念及其特性
1.2.1 算法的定义
1.2.2 算法的三要素
1.2.3 算法的基本性质
1.2.4 算法的基本特征
1.2.5 算法设计的要求
1.3 算法分析和评价
1.3.1 算法的时间复杂度
1.3.2 算法的空间复杂度
1.4 小结
1.5 习题
第2章 学生信息管理设计
2.1 系统设计
2.2 数据库设计
2.3 公共模块设计
第2部分 业务篇
第3章 学生基本信息管理(顺序表)
3.1 知识要点
3.2 模块功能描述
3.3 知识准备
3.3.1 线性表的定义和性质
3.3.2 顺序表的定义和性质
3.4 业务实现
3.5 算法分析
3.6 小结
3.7 习题
第4章 学生成绩信息管理(链表)
4.1 知识要点
4.2 模块功能描述
4.3 知识准备
4.3.1 链表的基本概念和存储方式
4.3.2 单向链表含义
4.4 业务实现
4.5 知识扩展
4.5.1 循环链表
4.5.2 双向链表
4.6 小结
4.7 习题
第5章 学生基本信息审核(栈)
5.1 知识要点
5.2 模块功能描述
5.3 知识准备
5.3.1 栈的基本概念
5.3.2 栈的存储结构
5.4 业务实现
5.5 知识扩展
5.6 小结
5.7 习题
第6章 学生成绩信息的审核(队列)
6.1 知识要点
6.2 模块功能描述
6.3 知识准备
6.3.1 队列概念
6.3.2 顺序队列
6.4 业务实现
6.5 知识扩展(链队列)
6.6 小结
6.7 习题
第7章 树和二叉树
7.1 知识要点
7.2 树的概念和操作
7.2.1 树的概念
7.2.2 树的基本术语
7.2.3 树的基本运算
7.3 二叉树的概念和性质
7.3.1 二叉树的定义
7.3.2 二叉树的性质
7.3.3 二叉树的存储结构
7.4 知识扩展(二叉树遍历)
7.4.1 二叉树遍历的递归算法
7.4.2 二叉树遍历的非递归算法
7.4.3 二叉树算法举例
7.5 小结
7.6 习题
第8章 查找
8.1 知识要点
8.2 功能描述
8.3 知识准备
8.4 业务实现
8.4.1 顺序查找
8.4.2 折半查找
8.4.3 索引查找
8.4.4 哈希查找
8.5 小结
8.6 习题
第9章 排序
9.1 知识要点
9.2 功能描述
9.3 知识准备
9.4 业务实现
9.4.1 直接插入排序
9.4.2 折半插入排序
9.4.3 冒泡排序
9.4.4 快速排序
9.4.5 选择排序
9.5 小结
9.6 习题
第10章 班长评选(循环算法)
10.1 知识要点
10.2 功能描述
10.3 知识准备
10.4 业务实现
10.5 知识扩展
10.5.1 长整数问题
10.5.2 由具体到抽象设计循环结构的案例
10.6 习题
第11章 班委评选(递归算法)
11.1 知识要点
11.2 功能描述
11.3 知识准备
11.4 业务实现
11.5 知识扩展
11.6 递归算法与循环算法的比较
11.7 习题
第12章 迭代算法
12.1 知识要点
12.2 迭代算法概念和设计要点
12.3 递推法
12.4 倒推法
12.5 迭代法求解方程
12.6 习题
第13章 学生评优(蛮力法)
13.1 知识要点
13.2 功能描述
13.3 知识准备
13.4 业务实现
13.5 知识扩展
13.6 习题
第14章 优差生评选(分治法)
14.1 知识要点
14.2 功能描述
14.3 知识准备
14.4 业务实现
14.5 知识扩展
14.5.1 二分不独立问题
14.5.2 非等分分治法问题
14.6 习题
第15章 优秀团队组建(贪婪算法)
15.1 知识要点
15.2 功能描述
15.3 知识准备
15.4 务实现
15.5 其他贪婪算法
15.5.1 可绝对贪婪问题
15.5.2 相对贪婪问题
15.6 习题
第3部分 实践篇
实验1 数据库与数据访问层
实验2 学生基本信息管理(顺序表实现)
实验3 学生成绩信息管理(单向链表实现)
实验4 学生基本信息审核(栈的实现)
实验5 学生成绩信息审核(队列实现)
实验6 学生信息查找
实验7 学生信息排序
实验8 班长评选(循环算法)
实验9 班委评选(递归算法)
实验10 优秀学生评选(蛮力算法)
实验11 最优最差生评选(分治算法)
实验12 优秀团队组建(贪婪算法)
实验13 课程设计
参考文献