第1章 绪论 1
1.1 数据结构的基本概念 1
1.2 算法和算法分析 3
1.3 算法描述与C语言数据类型 5
本章小结 14
习题1 14
第2章 线性表 17
2.1 线性表的基本概念 17
2.2 线性表的顺序存储结构及其运算 18
2.3 线性表的链式存储结构及其运算 22
2.4 顺序表和链表的比较 29
2.5 线性表的应用 30
本章小结 32
习题2 32
本章实验 34
第3章 栈和队列 40
3.1 栈 40
3.2 队列 44
3.3 应用 49
本章小结 57
习题3 57
本章实验 59
第4章 串、数组和广义表 61
4.1 串 61
4.2 数组 66
4.3 广义表 75
本章小结 77
习题4 77
本章实验 78
第5章 树和二叉树 83
5.1 树 83
5.2 二叉树 86
5.3 二叉树的遍历 93
5.4 线索二叉树 99
5.5 树、森林与二叉树的转换 103
5.6 哈夫曼树 104
本章小结 107
习题5 107
本章实验 109
第6章 图 119
6.1 图的基本概念 119
6.2 图的存储结构 122
6.3 图的遍历 126
6.4 图的连通性 128
6.5 最短路径 131
6.6 AOV网与拓扑排序 135
6.7 AOE网与关键路径 136
本章小结 138
习题6 138
本章实验 141
第7章 查找 151
7.1 基本概念 151
7.2 静态查找 152
7.3 动态查找表 156
7.4 哈希法查找 162
本章小结 165
习题7 165
本章实验 166
第8章 排序 173
8.1 排序基本概念 173
8.2 插入类排序 174
8.3 交换类排序 178
8.4 选择类排序 182
8.5 归并排序 185
8.6 基数排序 186
8.7 各类排序方法的比较 188
8.8 外部排序 188
本章小结 189
习题8 189
本章实验 190
参考文献 199