第1章 集合、关系和语言 1
1.1 集合 1
1.2 关系与函数 4
1.3 特殊类型的二元关系 7
1.4 有穷集合与无穷集合 11
1.5 三个基本的证明技术 13
1.6 闭包与算法 17
1.7 字母表与语言 25
1.8 语言的有穷表示 29
参考文献 33
第2章 有穷自动机 34
2.1 确定型有穷自动机 34
2.2 非确定型有穷自动机 39
2.3 有穷自动机与正则表达式 47
2.4 正则语言与非正则语言 54
2.5 状态最小化 58
2.6 关于有穷自动机的算法 65
参考文献 70
第3章 上下文无关语言 72
3.1 上下文无关文法 72
3.2 语法分析树 79
3.3 下推自动机 83
3.4 下推自动机与上下文无关文法 87
3.5 上下文无关语言与非上下文无关语言 92
3.6 关于上下文无关文法的算法 97
3.7 确定性与语法分析 102
参考文献 115
第4章 Turing机 117
4.1 Turing机的定义 117
4.2 用Turing机计算 125
4.3 Turing机的扩充 130
4.4 随机存取Turing机 136
4.5 非确定型Turing机 144
4.6 文法 148
4.7 数值函数 151
参考文献 158
第5章 不可判定性 160
5.1 Church-Turing论题 160
5.2 通用Turing机 161
5.3 停机问题 163
5.4 与Turing机有关的不可判定问题 166
5.5 与文法有关的不可解问题 168
5.6 不可解的铺砖问题 172
5.7 递归语言的性质 174
参考文献 178
第6章 计算复杂性 179
6.1 P类 179
6.2 若干问题 181
6.3 布尔可满足性 187
6.4 NP类 190
参考文献 194
第7章 NP完全性 196
7.1 多项式时间归约 196
7.2 Cook定理 202
7.3 其他的NP完全问题 207
7.4 对付NP完全性 218
参考文献 229
中英对照名词索引 231