第1章 绪论 1
1.1 数据结构起源 1
1.2 基本概念和常用术语 2
1.3 算法和算法分析 9
1.4 C语言基础 14
习题1 26
第2章 线性表 29
2.1 线性表的逻辑结构 29
2.2 线性表的顺序存储及运算实现 30
2.3 线性表的链式存储及运算实现 37
2.4 顺序表和链表的比较 48
习题2 49
第3章 栈和队列 52
3.1 栈 52
3.2 栈的应用举例 58
3.3 栈与递归 59
3.4 队列 62
3.5 队列的应用举例 68
习题3 70
第4章 串 74
4.1 串及其基本运算 74
4.2 串的存储结构 76
4.3 串的模式匹配 85
4.4 串的应用举例 90
习题4 92
第5章 树 94
5.1 树的概念和操作 94
5.2 二叉树 97
5.3 二叉树的遍历 102
5.4 线索二叉树 115
5.5 树和森林 120
5.6 二叉树的应用 127
习题5 139
第6章 图 145
6.1 图的定义和术语 145
6.2 图的存储结构 148
6.3 图的遍历 151
6.4 最小生成树 155
6.5 有向无环图及其应用 160
6.6 最短路径 169
6.7 图的应用举例 177
习题6 183
第7章 查找 188
7.1 基本概念 188
7.2 静态查找 189
7.3 动态查找 195
7.4 散列表查找 213
7.5 应用举例 222
习题7 227
第8章 排序 232
8.1 排序的基本概念及分类 232
8.2 插入排序 233
8.3 交换排序 238
8.4 选择排序 241
8.5 归并排序 245
8.6 基数排序 246
8.7 内部排序的比较与选择 247
8.8 外部排序简介 248
8.9 应用举例 248
习题8 250
参考文献 253