第1章 课程概论
1.1 课程的初步认识
1.2 数据结构的基本概念
1.2.1 基本术语
1.2.2 数据结构的概念
1.2.3 逻辑结构和物理结构
1.2.4 数据结构形式定义
1.3 数据类型及面向对象概念
1.3.1 数据类型概述
1.3.2 抽象数据类型
1.3.3 实现方法
1.3.4 面向对象的概念
1.4 算法及算法分析
1.4.1 算法特性
14.2 算法描述
14.3 算法设计的要求
1.4.4 算法分析
1.5 实习一:常用算法
第2章 线性表
2.1 线性表实例及概念
2.2 线性表的存储方式
2.2.1 线性表的顺序存储结构-
2.2.2 线性表的链式存储结构
2.3 线性表的类定义及其实现
2.3.1 顺序表的类定义及实现
2.3.2 单链表的类定义及实现
2.3.3 静态链表的类定义及实现
2.3.4 双向循环链表的类定义及实现
2.4 实习二:顺序表演示程序
2.4.1 问题说明
2.4.2 界面外观及功能要求
2.4.3 实现要点
2.4.4 类定义
2.4.5 组件设置
2.4.6 界面功能的实现
2.4.7 程序清单
第3章 栈
3.1 栈的应用实例及概念
3.2 栈的存储方式
3.2.1 栈的顺序存储结构
3.2.2 栈的链式存储结构
3.3 栈的类定义及其实现
3.3.1 顺序栈的类定义及实现
3.3.2 链栈的类定义及实现
3.4 应用实例
3.4.1 表达式中括号配对的合法性检查
3.4.2 表达式求值
3.5 实习三:链栈演示程序
3.5.1 问题说明
3.5.2 界面外观及功能要求
3.5.3 实现要点
3.5.4 类定义
3.5.5 组件设置
3.5.6 界面功能的实现
3.5.7 程序清单
第4章 队列
4.1 队列的应用实例及概念
4.2 队列的存储方式
4.2.1 队列的链式存储结构
4.2.2 队列的顺序存储结构
4.3 队列的类定义及其实现
4.3.1 循环队列的类定义及实现
4.3.2 链队列的类定义及实现
4.4 应用实例
4.5 实习四:循环队列演示程序
4.5.1 问题说明
4.5.2 界面外观及功能要求
4.5.3 实现要点
4.5.4 类定义及其实现
4.5.5 组件设置
4.5.6 界面功能的实现
4.5.7 程序清单
第5章 串
5.1 串的应用实例及概念
5.2 串的存储结构
5.2.1 顺序存储结构
5.2.2 链式存储结构
5.3 顺序串的类定义及实现
5.3.1 顺序串的类定义
5.3.2 求子串及子串定位操作的实现
5.3.3 删除、插入及替换操作的实现
5.4 实习五:串的演示程序
5.4.1 问题说明
5.4.2 界面外观及功能要求
5.4.3 实现要点
5.4.4 类定义
5.4.5 组件设置
5.4.6 界面功能的实现
5.4.7 程序清单
第6章 二维数组
6.1 二维数组应用实例及概念
6.2 二维数组的存储方式
6.3 矩阵的类定义及实现
6.3.1 矩阵的类定义
6.3.2 矩阵类定义的实现
6.4 矩阵的压缩存储
6.4.1 对称矩阵的压缩存储
6.4.2 对角矩阵的压缩存储
6.4.3 稀疏矩阵的压缩存储
6.5 稀疏矩阵的类定义及实现
6.5.1 稀疏矩阵类定义
6.5.2 稀疏矩阵类定义的实现
6.6 实习六:八皇后演示程序
6.6.1 问题说明
6.6.2 界面外观及功能要求
6.6.3 实现要点
6.6.4 线程类定义
6.6.5 组件设置
6.6.6 界面功能的实现
6.6.7 程序清单
第7章 广义表
7.1 广义表的定义与基本运算
7.2 广义表的存储方式
7.2.1 头尾表示法+
7.2.2 儿子兄弟表示法
7.3 广义表的类定义及实现
7.3.1 广义表的类定义
7.3.2 取头、取尾及合并操作的实现
7.3.3 建立广义表的存储结构
7.3.4 打印广义表
7.4 广义表的递归算法
7.4.1 广义表的相等比较
7.4.2 广义表的成员判别
7.4.3 广义表的复制
7.4.4 求广义表的深度
7.5 实习七:广义表演示程序
7.5.1 问题说明
7.5:2 界面外观及功能要求
7.5.3 实现要点
7.5.4 类定义及实现
7.5.5 组件设置
7.5.6 界面功能的实现
7.5.7 程序清单
第8章 树与二叉树
8.1 树的基本概念
8.1.1 树的定义及应用
8.1.2 树的逻辑表示
8.1.3 基本术语
8.1.4 树的基本操作
8.2 二叉树
8.2.1 定义
8.2.2 基本性质
8.2.3 存储结构
8.2。4 二叉树的类定义
8.2.5 二叉树类定义的实现
8.2.6 二叉树的遍历
8.3 排序二叉树
8.3.1 排序二叉树的定义
8.3.2 排序二叉树的类定义
8.3.3 排序二叉树类定义的实现
8.4 树与森林
8.4.1 树的存储结构
8.4.2 森林与二叉树的转换
8.4.3 树的遍历
8.5 哈夫曼树
8.5.1 哈夫曼树的定义
8.5.2 哈夫曼树的构造
8.5.3 哈夫曼编码
8.6 实习八:二叉树遍历演示程序
8.6.1 问题说明
8.6.2 界面外观及功能要求
8.6.3 实现要点
8.6.4 类定义及实现
8.6.5 组件设置
8.6.6 界面功能的实现
8.6.? 程序清单
第9章 图
9.1 图的实例及概念
9.1.1 实例及定义
9.1.2 基本术语
9.1.3 基本操作
9.2 存储方式
9.2.1 邻接矩阵
9.2.2 邻接表
9.2.3 邻接多重表
9.3 图的遍历
9.3.1 图的类定义
9.3.2 深度优先搜索遍历
9.3.3 广度优先搜索遍历
9.4 图的应用
9.4.1 拓扑排序
9.4.2 最短路径
9.5 实习九:图的遍历演示程序
9.5.1 问题说明
9.5.2 界面外观及功能要求
9.5.3 实现要点
9.5.4 类定义及其实现
9.5.5 组件设置
9.5.6 界面功能的实现
9.5.7 程序清单
第10章 查找
10.1 查找的有关概念
10.2 静态查找表
10.2.1 顺序表的查找
10.2.2 有序表的查找
10.2.3 静态树表的查找
10.2.4 索引顺序表的查找
10.3 动态查找表
10.3.1 顺序二叉树的查找
10.3.2 B-树与B+树
10.4 哈希表
10.4.1 哈希表的概念
10.4.2 哈希函数的种类
10.4.3 冲突的处理方法
10.4.4 哈希表的查找
10.5 实习十:排序二叉树演示程序
10.5.1 问题说明
10.5.2 界面外观及功能要求
10.5.3 实现要点
10.5.4 类定义及其实现
10.5.5 组件设置
10.5.6 界面功能的实现
10.5.7 程序清单
第11章 排序
11.1 排序的有关概念
11.2 简单的排序算法
11.2.1 直接插入排序
11.2.2 冒泡排序
11.2.3 简单选择排序
11.3 快速排序法
11.3.1 快速排序
11.3.2树形选择排序
11.3.3 堆排序
11.3.4 归并排序
11.4 基数排序
11.5 实习十一:排序算法演示程序
11.5.1 问题说明
11.5.2 界面外观及功能要求
11.5.3 实现要点
11.5.4 线程类定义
11.5.5 可视化功能的实现
11.5.6 组件设置
11.5.7 界面功能的实现
11.5.8 程序清单
第12章 外部排序
12.1 外部排序概述
12.2 多路归并排序
12.2.1 多路归并与败者树
12.2.2 败者树类定义
12.2.3 调整算法
12.2.4初建树算法
12.2.5 K路归并算法
12.3 置换选择排序
附录
附录A C++概要
附录B C++Builder开发环境概述
附录C 参考文献