第1章 基本概念 1
1.1 算法 1
1.2 数学准备 8
1.2.1 数学归纳法 8
1.2.2 数、幂和对数 16
1.2.3 和与积 21
1.2.4 整数函数与初等数论 30
1.2.5 排列与阶乘 35
1.2.6 二项式系数 41
1.2.7 调和数 59
1.2.8 斐波那契数 62
1.2.9 生成函数 69
1.2.10 典型算法分析 76
1.2.11 渐近表示 85
1.2.11.1 大O记号 85
1.2.11.2 欧拉求和公式 88
1.2.11.3 若干渐近计算式 92
1.3 MIX 99
1.3.1 MIX的描述 99
1.3.2 MIX汇编语言 116
1.3.3 排列的应用 131
1.4 若干基本程序设计技术 150
1.4.1 子程序 150
1.4.2 协同程序 155
1.4.3 解释程序 161
1.4.3.1 MIX模拟程序 162
1.4.3.2 追踪程序 171
1.4.4 输入与输出 173
1.4.5 历史和参考文献 184
第2章 信息结构 187
2.1 引论 187
2.2 线性表 191
2.2.1 栈、队列和双端队列 191
2.2.2 顺序分配 195
2.2.3 链接分配 203
2.2.4 循环链表 217
2.2.5 双链表 222
2.2.6 数组与正交表 237
2.3 树 245
2.3.1 遍历二叉树 253
2.3.2 树的二叉树表示 265
2.3.3 树的其他表示 276
2.3.4 树的基本数学性质 287
2.3.4.1 自由树 287
2.3.4.2 定向树 294
2.3.4.3 无限性引理 301
2.3.4.4 树的枚举 304
2.3.4.5 路径长度 314
2.3.4.6 历史和参考文献 320
2.3.5 表和垃圾回收 322
2.4 多链结构 333
2.5 动态存储分配 342
2.6 历史和参考文献 358
习题答案 364
附录A 数值表 494
附录B 记号索引 498
附录C 算法和定理索引 502
人名索引 503
索引 508