第1章 绪论 1
1.1 什么是数据结构 1
1.2 基本概念和术语 5
1.3 算法和算法描述语言 8
1.4 算法分析 9
本章小结 18
习题 18
2.1 线性表的逻辑结构 22
第2章 线性表 22
2.2 线性表的顺序存储及运算实现 24
2.3 顺序表应用举例 31
2.4 线性表的链式存储和运算实现 33
2.5 顺序表和链表的比较 46
本章小结 47
习题 48
第3章 栈和队列 51
3.1 栈 51
3.2 栈的应用举例 59
3.3 栈与递归 69
3.4 队列 76
3.5 队列应用举例 85
本章小结 89
习题 89
第4章 串 93
4.1 串及其基本运算 93
4.2 串的顺序存储及基本运算 95
4.3 串的堆存储结构 104
4.4 串的链式存储结构 108
4.5 文本编辑——串操作应用 110
本章小结 112
习题 112
第5章 数组和广义表 115
5.1 数组 115
5.2 特殊矩阵的压缩存储 117
5.3 广义表 124
本章小结 127
习题 128
6.1 树的基本概念 131
第6章 树和二叉树 131
6.2 二叉树 134
6.3 遍历二叉树 138
6.4 线索二叉树 147
6.5 树与森林 154
6.6 哈夫曼树 159
本章小结 168
习题 168
7.1 图的基本概念 173
第7章 图 173
7.2 图的存储结构 177
7.3 图的遍历 186
7.4 最小生成树 190
7.5 最短路径 196
7.6 有向无环图及其应用 201
本章小结 211
习题 212
第8章 查找 216
8.1 基本概念 216
8.2 线性表的查找 218
8.3 树表查找 222
8.4 哈希表查找(杂凑法) 240
本章小结 248
习题 248
第9章 排序 253
9.1 基本概念 253
9.2 插入排序 255
9.3 交换排序 261
9.4 选择排序 266
9.5 归并排序(Merging Sort) 270
本章小结 272
习题 273
第10章 数据结构综合应用 277
10.1 各种结构类型之间的关系概述 277
10.2 二叉树与分治策略 281
10.3 图的深度优先遍历及其应用 285
本章小结 295
习题 296
参考文献 297