第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 数据结构的规范
1.4.2 实现数据结构
1.5 算法分析的基本方法
1.5.1 算法及其性能标准
1.5.2 算法的时间复杂度
1.5.3 渐近时间复杂度
1.5.4 最坏、最好和平均情况时间复杂度
1.5.5 算法的空间复杂度
本章小结
习题
第2章 线性表
2.1 线性表ADT
2.2 线性表的顺序表示
2.3 线性表的链接表示
2.3.1 单链表
2.3.2 带表头结点的单链表
2.3.3 单循环链表
2.3.4 双向链表
2.4 多项式的算术运算
2.4.1 项结点的C++类
2.4.2 多项式的C++类
2.4.3 多项式类的实现
本章小结
习题
第3章 堆栈和队列
3.1 堆栈
3.1.1 堆栈ADT
3.1.2 堆栈的顺序表示
3.1.3 堆栈的链接表示
3.2 队列
3.2.1 队列ADT
3.2.2 队列的顺序表示
3.2.3 队列的链接表示
3.3 表达式计算
3.3.1 表达式
3.3.2 计算后缀表达式的值
3.3.3 中缀表达式转换为后缀表达式
3.4 递归
3.4.1 递归的概念
3.4.2 递归的实现
本章小结
习题
第4章 数组和字符串
4.1 数组
4.1.1 数组ADT
4.1.2 数组的顺序表示
4.1.3 一维数组的C++类
4.2 特殊矩阵
4.2.1 对称矩阵
4.2.2 带状矩阵
4.3 稀疏矩阵
4.3.1 稀疏矩阵ADT
4.3.2 稀疏矩阵的顺序表示
4.3.3 稀疏矩阵转置
4.4 字符串
4.4.1 字符串ADT
4.4.2 字符串的存储表示
……
第5章 树
第6章 集合和搜索
第7章 搜索树
第8章 跳表和散列表
第9章 图
第10章 内排序
第11章 文件和外排序
第12章 实习指导和实习题