第1章 绪论 1
1.1 数据结构的基本概念 1
1.2 算法的概念与描述 3
小结 6
习题 6
第2章 C语言中的数据类型 7
2.1 C语言中数据的存储表示 7
2.2 基本数据类型 9
2.3 派生数据类型 16
2.4 复合数据类型 19
小结 21
习题 22
实验 22
第3章 线性表 25
3.1 线性表的定义 25
3.2 线性表的顺序存储结构及其运算 26
3.3 线性表的链式存储结构及其运算 32
3.4 串 44
3.5 线性表的应用 51
习题 58
小结 58
实验 59
第4章 栈和队列 65
4.1 栈 65
4.2 栈的应用 68
4.3 队列 75
4.4 队列的应用 81
小结 85
习题 85
实验 85
5.1 多维数组 92
第5章 多维数组、稀疏矩阵与广义表 92
5.2 稀疏矩阵 95
5.3 广义表 98
小结 99
习题 100
实验 100
第6章 树 103
6.1 树的基本概念 103
6.2 树的存储表示 104
6.3 二叉树 107
6.4 二叉树的遍历 111
6.5 线索二叉树 121
6.6 树与二叉树的转换 127
6.7 赫夫曼树 130
小结 135
习题 136
实验 136
第7章 图 141
7.1 图的数学基础与基本概念 141
7.2 图的存储表示 142
7.3 图的遍历 157
7.4 图的连通性 161
7.5 图的最短路径 164
7.6 拓扑排序 167
小结 169
习题 169
实验 170
第8章 查找 173
8.1 静态查找 173
8.2 动态查找 178
实验 196
小结 196
习题 196
第9章 排序 201
9.1 选择排序 201
9.2 插入排序 205
9.3 交换排序 208
9.4 归并排序 212
9.5 基数排序 214
9.6 外部排序 215
小结 215
实验 216
习题 216
第10章 文件 220
10.1 文件的结构 220
10.2 文件的目录 224
10.3 文件的访问 226
小结 233
习题 233
实验 233
参考文献 239