1.1 什么是数据结构 1
第1章 绪论 1
1.2 基本概念和术语 2
1.3 运算、算法和算法分析 3
1.3.1 运算 4
1.3.2 算法及其描述 4
1.3.3 算法分析和算法复杂度 4
1.4 习题 5
2.1 线性表的定义和基本运算 8
第2章 线性表 8
2.2 线性表的顺序存储结构 9
2.2.1 线性表顺序存储结构的概念 9
2.2.2 线性表顺序存储的实现 10
2.3 线性表的链式存储结构 11
2.3.1 单链表 12
2.3.2 循环链表 15
2.3.3 双向链表 15
2.4.1 实习1 17
2.4 链表的上机实习 17
2.4.2 实习2 21
2.4.3 实习3 21
2.5 习题 22
第3章 栈和队列 29
3.1 栈 29
3.1.1 栈的定义 29
3.1.2 栈的存储结构及其基本运算的实现 30
3.2 队列 32
3.2.2 队列的基本运算 33
3.2.1 队列的定义 33
3.2.3 队列的存储结构及其基本运算的实现 34
3.3 栈和队列上机实习 38
3.3.1 实习1 38
3.3.2 实习2 39
3.3.3 实习3 39
3.3.4 实习4 40
3.4 习题 40
4.1.1 数组的概念和运算 47
第4章 数组和串 47
4.1 数组 47
4.1.2 数组的顺序存储和访问 48
4.1.3 矩阵的压缩存储 49
4.2 串 55
4.2.1 串的基本概念 56
4.2.2 串的基本运算 56
4.2.3 串的存储结构 57
4.3 上机实习 63
4.3.1 实习1 63
4.3.2 实习2 65
4.4 习题 66
第5章 树 69
5.1 树 69
5.1.1 树的基本概念 69
5.1.2 树的表示 71
5.1.3 树的基本运算 71
5.2.1 二叉树的概念 72
5.2 二叉树 72
5.2.2 二叉树的性质 75
5.2.3 二叉树的存储结构 77
5.2.4 二叉树的遍历 79
5.2.5 哈夫曼树和哈夫曼编码 83
5.3 树和森林 87
5.3.1 树的存储结构 88
5.3.2 树、森林与二叉树的转换 91
5.3.3 树和森林的遍历 93
5.4.1 实习1 94
5.4 上机实习 94
5.4.2 实习2 96
5.5 习题 99
第6章 图 104
6.1 图的定义和术语 104
6.1.1 图的定义 104
6.1.2 图的相关术语 105
6.2 图的基本操作 106
6.3.1 图的邻接矩阵 107
6.3 图的存储表示 107
6.3.2 邻接表 109
6.4 图的遍历 110
6.4.1 深度优先搜索 111
6.4.2 广度优先搜索 112
6.5 生成树和最小生成树 113
6.5.1 生成树 113
6.5.2 最小生成树 113
6.6 习题 115
7.1.1 排序的定义 118
第7章 内部排序 118
7.1 排序概述 118
7.1.2 稳定排序与非稳定排序 119
7.1.3 部排序与外部排序 119
7.1.4 排序记录的存储方式 119
7.2 插入排序 120
7.2.1 直接插入排序 120
7.2.2 折半插入排序 121
7.2.3 表插入排序 122
7.2.4 希尔排序 125
7.3 快速排序 127
7.3.1 起泡排序 127
7.3.2 快速排序方法 128
7.4 选择排序 130
7.4.1 简单选择排序 131
7.4.2 堆排序 131
7.5 基数排序 135
7.6 各种内部排序方法的比较 138
7.7 上机实习 139
7.7.1 实习1 139
7.7.2 实习2 141
7.8 习题 144
第8章 查找 150
8.1 查找的基本概念 150
8.2 线性表的查找 152
8.2.1 顺序查找 152
8.2.2 二分查找 153
8.2.3 分块查找 155
8.3 树结构的查找 157
8.3.1 二叉排序树 157
8.3.2 不衡二叉树 164
8.3.3 B?树 172
8.4 散列技术 177
8.4.1 散列表 177
8.4.2 散列函数的构造方法 178
8.4.3 处理冲突的方法 180
8.4.4 散列表的查找 182
8.4.5 散列技术性能分析 183
8.5 上机实习 185
8.5.1 实习1 185
8.5.2 实习2 187
8.5.3 实习3 189
8.6 习题 190
9.1 文件的基本概念 193
第9章 文件 193
9.2 顺序文件 195
9.3 索引文件 196
9.3.1 索引文件的特点和术语 196
9.3.2 索引文件的存储 197
9.3.3 索引文件的检索与修改 197
9.4 索引顺序文件 198
9.4.1 ISAM文件 198
9.4.2 VSAM文件 200
9.5.2 散列文件的查找 201
9.5 散列文件 201
9.5.1 散列文件的存储 201
9.5.3 散列文件的删除操作 202
9.6 多关键字文件 202
9.6.1 多重表文件的概念 202
9.6.2 倒排文件 203
9.7 习题 204
各章习题答案 209
参考文献 213