目 录 1
第一章算法分析 1
1.1算法 1
1.2 Big-oh 3
1.3魔术方阵 5
1.4思考题 8
1.5程序设计 10
第二章数组 14
2.1数组的表示法 14
2.2稀疏矩阵 18
2.3多项式表示法 21
2.4上三角形和下三角形表示法 23
2.5思考题 24
第三章堆栈与队列 26
3.1堆栈和队列基本概念 26
3.2堆栈的插入与删除 26
3.3队列的插入与删除 27
3.4堆栈与队列的应用 30
3.5多个堆栈 33
3.6思考题 34
3.7程序设计 35
第四章链表 56
4.1链表 56
4.2循环链表 65
4.3双向链表 71
4.4多项式相加 72
4.5思考题 77
4.6程序设计 78
第五章动态存储器管理 128
5.1最先适合法与最优满足法 129
5.2边界标志法 131
5.3伙伴系统 134
5.4思考题 146
第六章树结构 147
6.1树结构的一些术语 147
6.2二叉树 148
6.3二叉树的表示方法 150
6.4二叉树遍历 151
6.5穿线二叉树 153
6.7其他论题 157
6.6如何将一般树化为二叉树 157
6.8思考题 161
6.9程序设计 164
第七章图结构 187
7.1 图的一些术语 188
7.2图数据结构表示法 190
7.3图遍历 193
7.4生成树 197
7.5最短路径 201
7.6拓扑排序 204
7.7思考题 207
7.8程序设计 209
第八章排序与查找 214
8.1 冒泡排序 214
8.2选择排序(selection sort) 215
8.3谢耳排序(shell sort) 216
8.4二叉树排序(binary tree sort) 217
8.5基数排序 218
8.6外部排序 221
8.7顺序查找 223
8.8二叉查找 224
8.9插补法查找 225
8.10斐波纳契查找 225
8.11 思考题 229
8.12程序设计 229
第九章符号表 252
9.1 二叉查找树 252
9.2动态树表 259
9.3高度平衡二叉树 261
9.4杂凑表 280
9.5思考题 286
9.6程序设计 287
第十章索引技术 309
10.1柱面一盘面索引 309
10.2杂凑索引 312
10.3树索引 313
10.4 trie索引 323
10.5多重链表文件与倒排文件 328
10.6思考题 330
参考文献 333