第1章 数据结构概论
1. 1 数据与信息
1. 2 数据处理
1. 3 计算器操作方式
1. 4 程序的产生
I. 5 程序的分析
1. 5. 1 如何分析程序
1. 6 算法
1. 6. 1 算法的书写
1. 6. 2 算法效率的评估
1. 7 复杂度
1. 7. 1 复杂度的表示法
1. 8 NP-Complete
1. 9 参数的传递
1. 10 数据结构
1. 10. 1 数据结构探讨问题
1. 11 魔术方阵
1. 12 习题
第2章 数组结构
2. 1 数组的定义
2. 2 数组表示法
2. 2. 1 一维数组
2. 2. 2 二维数组
2. 2. 3 三维数组
2. 2. 4 多维数组
2. 3 稀疏矩阵
2. 3. 1 稀疏矩阵的转胃
2. 4 数组的应用
2. 4. 1 多项式的数据结构
2. 4. 2 多项式相加
2. 4. 3 上三角矩阵储存方式
2. 4. 4 下三角矩阵储存方式
2. 4. 5 带状矩阵
2. 4. 6 矩阵相乘
2. 5 最佳洗牌法
2. 6 习题
第3章 链表
3. 1 链表的定义
3. 2 动态内存配置
3. 2. 1 函数malloc
3. 2. 2 函数free
3. 3 链表的创建
3. 3. 1 动态数据结构的声明
3. 3. 2 内存的配置
3. 3. 3 基本链表的创建
3. 4 链表的遍历
3. 5 链表的连结
3. 6 链表内节点的删除
3. 7 释放链表的内存空间
3. 8 链表内节点的插入
3. 9 链表结构的反转
3. 10 环状链农结构
3. 10. 1 环状链表的创建
3. 10. 2 环状链表内节点的插入
3. 10. 3 环状链表内节点的删除
3. 11 使用环状链表结构表示稀疏矩阵
3. 12 双向链表结构
3. 12. 1 双向链表的创建
3. 12. 2 双向链表内节点的插入
3. 12. 3 双向链表内节点的删除
3. 13 环状双向链表结构
3. 14 习题
第4章 递归
4. 1 递归的定义
4. 2 递归工作原则
4. 3 递归的执行过程
4. 3. 1 递归树
4. 3. 2 费氏数列
4. 4 递归的应用
4. 4. 1 汉诺塔问题
4. 4. 2 迷宫问题
4. 4. 3 八皇后问题
4. 4. 4 骑士问题
4. 4. 5 最大公因子
4. 4. 6 史波克先生的难题
4. 5 递归程序与非递归程序的差异
4. 6 习题
第5章 栈
5. 1 栈的定义
5. 2 栈的制作及操作方式
5. 3 栈的应用
5. 3. 1 算术表达式的转换
Expression Conversion
5. 3. 2 处理子程序调用
5. 3. 3 处理中断例程
5. 3. 4 编译错误处理
5. 3. 5 汉诺塔问题
5. 3. 6 迷宫问题
5. 3. 7 八皇后问题
5. 4 习题
第6章 队列
6. 1 队列的定义
6. 2 线性队列的制作及操作方式
6. 2. 1 以数组制作线性队列
6. 2. 2 以链表制作线性队列
6. 3 环状队列的制作及操作方式
6. 3. 1 以数组制作环状队列
6. 3. 2 以链表制作环状队列
6. 4 双向队列
6. 5 优先队列
6. 5. 1 优先队列的特性
6. 5. 2 用双队列表示优先队列
6. 6 多重队列
6. 7 队列的应用
6. 7. 1 买票问题
6. 7. 2 Josephus问题
6. 8 习题
第7章 树状结构
7. 1 基本术语
7. 2 树的表示法
7. 3 二叉树
7. 3. 1 二叉树的创建
7. 3. 2 二叉树的遍历
7. 3. 3 二叉树的搜索
7. 3. 4 二元树的删除
7. 3. 5 二元树的比较
7. 3. 6 一般树转换至二叉树
7. 3. 7 二叉表示树
7. 4 相关二叉树
7. 4. 1 完全平衡树
7. 4. 2 满二叉树
7. 4. 3 完全二叉树
7. 4. 4 线索二叉树 Threaded
Binary Tree
7. 4. 5 扩充二叉树
7. 4. 6 赫夫曼树
7. 4. 7 贪婪二元树 Greedy
Binary Tree
7. 4. 8 高度平衡二叉树
7. 4. 9 扇形树
7. 5 二元树的衍生
7. 5. 1 2-3树与2-3-4树
7. 5. 2 红-黑树 Red-Black Tree
7. 5. 3 最小-最大堆树
7. 5. 4 双堆树
7. 5. 5 B树
7. 6 树的应用
7. 6. 1 皇后问题
7. 6. 2 游戏树
7. 6. 3 决策树
7. 7 习题
第8章 图
8. 1 前言
8. 2 图的基本观念
8. 2. 1 无向图的一些重要术语
8. 2. 2 有向图的一些重要术语
8. 2. 3 其他重要术语
8. 3 图的表示法
8. 3. 1 邻接矩阵
8. 3. 2 邻接表
8. 3. 3 邻接多重表
8. 3. 4 索引表格法
8. 4 图的遍历
8. 4. 1 深度优先搜索法
8. 4. 2 广度优先搜索法
8. 5 扩张树
8. 5. 1 克鲁斯卡 Kruskal 法
8. 5. 2 普瑞法
8. 6 拓朴排序
8. 7 最短路径
8. 8 习题
第9章 排序
9. 1 前言
9. 2 内部排序法
9. 2. 1 交换式排序
9. 2. 2 插入式排序
9. 2. 3 选择和树状排序
9. 2. 4 其他排序
9. 3 外部排序法
9. 3. 1 直接合并排序法
9. 3. 2 自然合并排序法
9. 3. 3 k-路合并法
9. 3. 4 多阶段合并法
9. 4 排序法的效益评估
9. 5 习题
第10章 查找
10. 1 前言
10. 2 顺序查找法
10. 3 折半查找法
10. 4 费氏查找法
10. 5 区块查找法
10. 6 插补查找法
10. 7 基数查找法
10. 8 树状查找法
10. 8. 1 折半查找树
10. 8. 2 B树查找法
10. 8. 3 B 树 B Tree
10. 8. 4 数字查找树
10. 8. 5 补偿树
10. 9 散列查找法
10. 9. 1 直接定址法
10. 9. 2 摘取法
10. 9. 3 除法
10. 9. 4 乘法
10. 9. 5 平方取中法
10. 9. 6 折叠法
10. 9. 7 解决散列冲突方法
10. 9. 8 自哈希表删除项目
10. 9. 9 哈希法的评估
10. 10 习题
第11章 动态内存管理
11. 1 前言
11. 2 内存分配方法
11. 3 边界标记法
11. 3. 1 可利用空间链表的结构
11. 3. 2 分配算法
11. 3. 3 回收算法
11. 4 伙伴系统
11. 4. 1 可利用空间链表的结构
11. 4. 2 分配算法
11. 4. 3 回收算法
11. 5 费氏伙伴系统
11. 6 无用单元收集
11. 7 无用单元收集的改良
11. 8 内存压缩
11. 9 习题