第一部分 基本优化理论 3
第1章 基本优化内容 3
1.1 性能 4
1.2 内存 14
1.3 本章小结 20
第2章 创建新系统 21
2.1 系统需求 22
2.2 系统设计问题 25
2.3 开发过程 29
2.4 数据处理方法 31
2.5 本章小结 33
第3章 修改原系统 35
3.1 确定修改内容 36
3.2 开始优化 37
3.3 分析目标区域 39
3.4 执行优化 42
3.5 本章小结 45
第4章 工具和语言 49
第二部分 亲手尝试优化 49
4.1 必不可少的工具 50
4.2 借助编译器优化 64
4.3 编程语言 69
4.4 本章小结 78
第5章 测量时间和复杂性 79
5.1 理论和实践相结合 80
5.2 系统影响 85
5.3 本章小结 89
第6章 标准C/C++变量 91
6.1 变量的基本类型 92
6.2 组合的基本类型 98
6.3 本章小结 107
第7章 基本编程语句 109
7.1 选择语句 110
7.2 循环语句 120
7.3 本章小结 123
第8章 函数 125
8.1 调用函数 126
8.2 为函数传递数据 134
8.3 提前返回 140
8.4 类的成员函数 141
8.5 本章小结 156
第9章 高效内存管理 157
9.1 内存碎片 158
9.2 内存管理 160
9.3 调整数据结构的大小 173
9.4 本章小结 178
第10章 数据块 179
10.1 比较数据块 180
10.2 数据排序理论 191
10.3 排序技术 192
10.4 本章小结 213
第11章 存储结构 215
11.1 数组 216
11.2 链表 219
11.3 散列表 223
11.4 二叉树 229
11.5 红黑树 236
11.6 本章小结 241
第12章 优化IO 245
12.1 高效屏幕输出 246
12.2 高效二进制文件IO 249
12.3 高效文本文件IO 257
12.4 本章小结 266
第13章 进一步优化代码 267
13.1 算术运算 268
13.2 基于操作系统的优化 274
13.3 本章小结 290
第三部分 技巧和陷阱 295
第14章 技巧 295
14.1 编程窍门 296
14.2 为将来做准备 306
第15章 陷阱 313
15.1 算法中的陷阱 314
15.2 编译中的拼写问题 321
15.3 程序设计中的其他陷阱 327