第一部分 知识提炼与实例解析 3
第1章 绪论 3
1.1数据结构的基本概念 3
1.1.1知识提炼 3
1.1.2典型实例解析 4
1.1.3实例练习 5
1.2算法与算法分析 6
1.2.1知识提炼 6
1.2.2典型实例解析 8
1.2.3实例练习 10
1.3实例练习解答 14
1.3.1 1.1.3小节实例练习解答 14
1.3.2 1.2.3小节实例练习解答 16
第2章 线性表 20
2.1线性表的定义及其基本操作 20
2.1.1知识提炼 20
2.1.2典型实例解析 21
2.1.3实例练习 22
2.2基于顺序存储的线性表 23
2.2.1知识提炼 23
2.2.2典型实例解析 24
2.2.3实例练习 32
2.3基于链式存储的线性表 34
2.3.1知识提炼 34
2.3.2典型实例解析 39
2.3.3实例练习 49
2.4实例练习解答 52
2.4.1 2.1.3小节实例练习解答 52
2.4.2 2.2.3小节实例练习解答 52
2.4.3 2.3.3小节实例练习解答 57
第3章 栈与队列 65
3.1栈 65
3.1.1知识提炼 65
3.1.2典型实例解析 68
3.1.3实例练习 70
3.2队列 73
3.2.1知识提炼 73
3.2.2典型实例解析 77
3.2.3实例练习 80
3.3栈与队列的应用 82
3.3.1知识提炼 82
3.3.2典型实例解析 83
3.3.3实例练习 88
3.4实例练习解答 89
3.4.1 3.1.3小节实例练习解答 89
3.4.2 3.2.3小节实例练习解答 93
3.4.3 3.3.3小节实例练习解答 97
第4章 串与数组 103
4.1串 103
4.1.1知识提炼 103
4.1.2典型实例解析 105
4.1.3实例练习 106
4.2数组 107
4.2.1知识提炼 107
4.2.2典型实例解析 108
4.2.3实例练习 109
4.3特殊矩阵的压缩存储 111
4.3.1知识提炼 111
4.3.2典型实例解析 113
4.3.3实例练习 114
4.4实例练习解答 116
4.4.1 4.1.3小节实例练习解答 116
4.4.2 4.2.3小节实例练习解答 119
4.4.3 4.3.3小节实例练习解答 122
第5章 树与二叉树 125
5.1树的基本概念 125
5.1.1知识提炼 125
5.1.2典型实例解析 126
5.1.3实例练习 127
5.2二叉树的基本概念 128
5.2.1知识提炼 128
5.2.2典型实例解析 131
5.2.3实例练习 133
5.3二叉树的遍历 135
5.3.1知识提炼 135
5.3.2典型实例解析 138
5.3.3实例练习 142
5.4哈夫曼树及哈夫曼编码 144
5.4.1知识提炼 144
5.4.2典型实例解析 146
5.4.3实例练习 148
5.5树与森林 149
5.5.1知识提炼 149
5.5.2典型实例解析 153
5.5.3实例练习 155
5.6实例练习解答 156
5.6.1 5.1.3小节实例练习解答 156
5.6.2 5.2.3小节实例练习解答 157
5.6.3 5.3.3小节实例练习解答 159
5.6.4 5.4.3小节实例练习解答 163
5.6.5 5.5.3小节实例练习解答 165
第6章图 168
6.1图的概述 168
6.1.1知识提炼 168
6.1.2典型实例解析 169
6.1.3实例练习 171
6.2图的存储结构 172
6.2.1知识提炼 172
6.2.2典型实例解析 177
6.2.3实例练习 178
6.3图的遍历 180
6.3.1知识提炼 180
6.3.2典型实例解析 182
6.3.3实例练习 184
6.4最小生成树 186
6.4.1知识提炼 186
6.4.2典型实例解析 187
6.4.3实例练习 190
6.5最短路径 192
6.5.1知识提炼 192
6.5.2典型实例解析 193
6.5.3实例练习 195
6.6拓扑排序 196
6.6.1知识提炼 196
6.6.2典型实例解析 197
6.6.3实例练习 199
6.7关键路径 200
6.7.1知识提炼 200
6.7.2典型实例解析 201
6.7.3实例练习 204
6.8实例练习解答 205
6.8.1 6.1.3小节实例练习解答 205
6.8.2 6.2.3小节实例练习解答 207
6.8.3 6.3.3小节实例练习解答 210
6.8.4 6.4.3小节实例练习解答 212
6.8.5 6.5.3小节实例练习解答 216
6.8.6 6.6.3小节实例练习解答 219
6.8.7 6.7.3小节实例练习解答 220
第7章 排序 222
7.1排序的基本概念 222
7.1.1知识提炼 222
7.1.2典型实例解析 222
7.1.3实例练习 223
7.2插入排序 224
7.2.1知识提炼 224
7.2.2典型实例解析 225
7.2.3实例练习 227
7.3交换排序 228
7.3.1知识提炼 228
7.3.2典型实例解析 229
7.3.3实例练习 231
7.4选择排序 233
7.4.1知识提炼 233
7.4.2典型实例解析 235
7.4.3实例练习 237
7.5归并排序 238
7.5.1知识提炼 238
7.5.2典型实例解析 239
7.5.3实例练习 240
7.6基数排序 241
7.6.1知识提炼 241
7.6.2典型实例解析 242
7.6.3实例练习 242
7.7各种内排序方法的比较 243
7.7.1知识提炼 243
7.7.2典型实例解析 244
7.7.3实例练习 245
7.8外部排序 246
7.8.1知识提炼 246
7.8.2典型实例解析 248
7.8.3实例练习 250
7.9实例练习解答 252
7.9.1 7.1.3小节实例练习解答 252
7.9.2 7.2.3小节实例练习解答 253
7.9.3 7.3.3小节实例练习解答 255
7.9.4 7.4.3小节实例练习解答 258
7.9.5 7.5.3小节实例练习解答 261
7.9.6 7.6.3小节实例练习解答 262
7.9.7 7.7.3小节实例练习解答 263
7.9.8 7.8.3小节实例练习解答 265
第8章 查找 267
8.1查找的基本概念 267
8.1.1知识提炼 267
8.1.2典型实例解析 268
8.1.3实例练习 268
8.2静态查找表 269
8.2.1知识提炼 269
8.2.2典型实例解析 271
8.2.3实例练习 273
8.3动态查找表 275
8.3.1知识提炼 275
8.3.2典型实例解析 282
8.3.3实例练习 286
8.4哈希表查找 290
8.4.1知识提炼 290
8.4.2典型实例解析 293
8.4.3实例练习 297
8.5实例练习解答 299
8.5.1 8.1.3小节实例练习解答 299
8.5.2 8.2.3小节实例练习解答 300
8.5.3 8.3.3小节实例练习解答 303
8.5.4 8.4.3小节实例练习解答 309
第二部分 实验指导 315
实验一 顺序表的操作实验 315
实验二 链表的操作实验 320
实验三 栈的操作实验 327
实验四 队列的操作实验 335
实验五 二叉树的操作实验 341
实验六 排序的操作实验 349
实验七 静态查找表的操作实验 355
实验八 二叉排序树的操作实验 362
实验九 哈希表的查找操作实验 368
实验十图的操作实验 375
参考文献 381