第1章 人造精灵——计算机 1
1.1 神通如此广大 2
1.2 全靠人来调教 8
第2章 解题要有程序 13
2.1 计算机如何解题 14
2.2 把步骤变成一系列指令 16
2.3 程序员先驱 19
2.4 程序到底是什么 24
3.1 最早的算法 31
第3章 话算法源远流长 31
3.2 从丢番图方程说起 33
3.3 算法形象化 36
3.4 算法设计有方法 38
3.5 使用频率最高的算法 44
3.6 算法学家的智慧 49
3.7 算法的“快”与“慢” 54
第4章 说结构——栈、队、树、图 61
4.1 从排队现象引出的结构 61
4.2 层次化的数据结构——树 68
4.3 网状结构——图 73
4.4 大容量的数据结构——文件 80
第5章 人和计算机对话的语言 83
5.1 人和计算机的共同语言 84
5.2 程序语言早期的三足鼎立 90
5.3 程序语言擂台上的各路英豪 99
5.4 程序语言再认识 110
5.5 “好语言”层出不穷 113
第6章 不能没有翻译 125
6.1 “翻译”也是程序 126
6.2 程序语言翻译程序的集大成者 131
第7章 解题不只是算题 141
7.1 初衷是数值计算 141
7.2 不只是数值计算 144
7.3 说到底还是计算 153
第8章 程序=软件? 155
8.1 软件不仅仅是程序 155
8.2 软件开发要工程化 157
8.3 软件也有生命期 159
8.4 软件开发方法的不断创新 168
参考文献 176