第一章 绪论 1
1.1 什么是数据结构 1
1.2 基本概念和术语 4
1.3 抽象数据类型的表示与实现 7
1.4 算法和算法分析 9
习题 13
上机实训 14
第二章 线性表 16
2.1 线性表的基本概念 16
2.2 线性表的顺序存储结构 18
2.3 线性表的链式存储结构 22
2.4 线性表的应用 27
习题 35
上机实训 36
第三章 栈和队列 38
3.1 栈 38
3.2 栈的应用举例 42
3.3 栈与递归 52
3.4 队列 63
3.5 队列应用举例 70
习题 72
上机实训 73
第四章 串 75
4.1 串类型的定义 75
4.2 串的表示和实现 78
4.3 串的模式匹配 83
4.4 堆结构 86
习题 87
上机实训 88
第五章 数组和广义表 89
5.1 数组的定义和运算 89
5.2 数组的顺序存储结构和实现 92
5.3 矩阵的压缩存储 94
5.4 广义表 103
习题 107
上机实训 109
第六章 树 110
6.1 树的概念与表示 110
6.2 二叉树的基本概念及操作 118
6.3 树、森林与二叉树的转换 123
6.4 树的应用 125
习题 131
上机实训 132
第七章 图 133
7.1 图的基本概念 133
7.2 图的存储表示 137
7.3 图的遍历和生成树 143
7.4 最小生成树 145
7.5 最短路径 149
7.6 有向无环图及其应用 154
习题 161
上机实训 161
第八章 查找 163
8.1 查找的基本概念和术语 163
8.2 静态查找表 164
8.3 动态查找表 168
8.4 哈希表 177
习题 183
上机实训 184
第九章 内部排序 185
9.1 概述 185
9.2 插入排序 187
9.3 交换排序 192
9.4 选择排序 197
9.5 归并排序 202
9.6 基数排序 205
9.7 各种内部排序方法的比较讨论 210
习题 211
上机实训 212
第十章 文件 213
10.1 文件的基本概念 213
10.2 文件的组织 216
10.3 多关键字文件 221
习题 224
上机实训 224