第1章 概述 1
1.1 数据结构的基本定义 1
1.2 算法和算法分析 7
1.3 小结 12
习题1 13
第2章 线性表 18
2.1 线性表的定义 18
2.2 线性表的基本运算 20
2.3 顺序表的定义和特点 22
2.4 顺序表的基本运算 25
2.5 单链表的定义和特点 29
2.6 单链表的基本运算 32
2.7 循环链表 37
2.8 双向链表 39
2.9 小结 42
习题2 42
第3章 栈与队列 46
3.1 栈的定义与基本操作 46
3.2 栈的顺序存储结构 49
3.3 栈的链式存储结构 53
3.4 队列的定义与基本操作 58
3.5 队列的顺序存储结构 61
3.6 队列的链式存储结构 65
3.7 小结 69
习题3 70
第4章 数组、矩阵和广义表 74
4.1 数组的概念和逻辑结构 74
4.2 数组的物理结构 76
4.3 特殊矩阵 79
4.4 稀疏矩阵 83
4.5 广义表 86
4.6 小结 90
习题4 90
第5章 树与二叉树 94
5.1 树的基本概念 94
5.2 二叉树的定义与性质 98
5.3 二叉树的存储结构 104
5.4 二叉树的遍历 108
5.5 树与森林 112
5.6 哈夫曼树 122
5.7 小结 132
习题5 132
第6章 图 139
6.1 图的定义和基本术语 139
6.2 图的存储结构 146
6.3 图的遍历 156
6.4 最小生成树 163
6.5 最短路径 171
6.6 AOV网与拓扑排序 177
6.7 AOE图与关键路径 182
6.8 小结 189
习题6 190
第7章 查找 196
7.1 查找的基本概念 196
7.2 线性表查找 200
7.3 二叉排序树 210
7.4 平衡二叉树 218
7.5 散列查找 225
7.6 小结 238
习题7 239
第8章 排序 242
8.1 排序的基本概念 242
8.2 插入排序 248
8.3 选择排序 256
8.4 交换排序 271
8.5 归并排序 282
8.6 各种内排序算法的比较和选择 289
8.7 小结 294
习题8 294
习题答案 298