第1章 绪论
1.1 数据结构与数据类型
1.2 抽象数据类型
1.2.1 ADT的规格说明
1.2.2 ADT的实现
1.2.3 Java中ADT的规格说明与实现
1.3 串抽象数据类型
1.3.1 串ADT的规格说明
1.3.2 串ADT的实现
习题
第2章 算法
2.1 问题、算法和程序
2.2 算法的代价
2.3 算法分析
2.3.1 规模与基本操作
2.3.2 运行时间和增长率
2.3.3 最佳、最差和平均情况
2.4 大O符号
2.4.1 大O的定义
2.4.2 大O的性质
2.4.3 大O的计算
2.5 空间代价
2.6 递归算法
习题
第3章 数组
3.1 数组
3.1.1 子数组
3.1.2 有序数组
3.1.3 二维数组
3.2 插入
3.3 删除
3.4 查找
3.4.1 线性查找
3.4.2 二分查找
3.4.3 查找算法比较
3.5 归并
3.6 排序
3.6.1 冒泡排序
3.6.2 选择排序
3.6.3 插入排序
3.6.4 归并排序
3.6.5 快速排序
3.6.6 排序算法比较
习题
第4章 链表
4.1 链表
4.1.1 单向链表
4.1.2 双向链表
4.1.3 有序链表
4.1.4 循环链表
4.2 插入
4.2.1 单向链表插入
4.2.2 双向链表插入
4.3 删除
4.3.1 单向链表删除
4.3.2 双向链表删除
4.4 查找
习题
第5章 栈与队列
第6章 表
第7章 二叉树
第8章 优先队列与堆
第9章 集合与映射
第10章 散列表
第11章 树
第12章 图
附录A 数学预备知识
附录B Java 语言概要
附录C 课程实验
参考文献