第1章 递归 1
1.1 数据结构的递归本质分析 1
1.2 数据结构定义 2
1.3 递归算法模型设计 4
1.3.1 递归算法一般形式 4
1.3.2 前序递归 5
1.3.3 中序递归 25
1.3.4 后序递归 28
小结 31
习题一 31
第2章 递归转非递归 33
2.1 栈的定义 33
2.2 递归转非递归的一般原则 34
2.3 前序递归转非递归 34
2.3.1 一条递归语句 34
2.3.2 两条递归语句 37
2.3.3 多条递归语句的一般形式 47
2.4 中序递归转非递归 52
2.5 后序递归转非递归 55
2.5.1 一条递归语句 55
2.5.2 多条递归语句的后序递归 55
2.5.3 递推公式 60
小结 63
习题二 64
第3章 回溯法 65
3.1 回溯法的基本概念 65
3.2 回溯法模型设计 66
3.2.1 回溯法的一般形式 66
3.2.2 回溯法的分类 67
3.3 回溯法与递归差异分析 77
3.3.1 回溯法与递归的区别 77
3.3.2 实例分析 77
小结 80
习题三 80
第4章 技巧型算法 82
4.1 线性表的应用 82
4.1.1 线性表的基本操作 82
4.1.2 基本操作扩展 82
4.1.3 线性表应用 102
4.2 栈、队列的应用 105
4.2.1 栈的基本操作 105
4.2.2 栈的应用举例 107
4.2.3 队列的基本操作 111
4.2.4 队列的应用举例 118
4.3 数组结构的应用 123
4.4 串的应用 130
4.5 树和图的应用 133
4.6 排序算法的应用 136
4.6.1 插入排序 136
4.6.2 选择排序 139
4.6.3 交换排序 143
4.6.4 其他排序问题 149
4.7 数学方法 152
习题四 156
第5章 特殊问题的算法 159
附录A 数据结构基础知识部分考研分析 162
参考文献 167