第1章 准备知识 1
1.1 集合 1
1.1.1 集合的基本概念 1
1.1.2 集合的基本运算和性质 2
1.1.3 集合的笛卡儿积 5
1.1.4 集合的计算机表示 5
1.2 整数 6
1.2.1 整除 6
1.2.2 最大公约数和最小公倍数 8
1.2.3 模运算 11
1.3 序列和递推关系 12
1.3.1 序列 12
1.3.2 序列求和 13
1.3.3 递推关系 13
1.4 矩阵 15
1.4.1 矩阵的概念 15
1.4.2 矩阵的运算 16
1.4.3 布尔矩阵 19
习题1 20
第2章 数理逻辑 24
2.1 命题及联结词 24
2.1.1 命题的概念 24
2.1.2 命题联结词 26
2.2 命题公式和分类 29
2.2.1 命题变元和命题公式 29
2.2.2 命题公式的赋值和真值表 30
2.2.3 命题公式的类型 32
2.3 等值演算与范式 33
2.3.1 等价和基本等价式 33
2.3.2 等值演算 35
2.3.3 范式 37
2.4 命题逻辑的推理理论 43
2.4.1 推理的形式结构 43
2.4.2 演绎法证明推理 45
2.5 谓词逻辑基础 48
2.5.1 谓词逻辑的基本概念 48
2.5.2 谓词公式及其解释 51
2.6 谓词逻辑等值式与范式 56
2.6.1 谓词逻辑等值式 56
2.6.2 前束范式 58
2.7 谓词逻辑的推理理论 59
2.7.1 有关量词的基本蕴涵式 59
2.7.2 有关量词的推理规则 60
习题2 63
第3章 计数 70
3.1 基本计数、排列与组合 70
3.1.1 基本的计数原则 70
3.1.2 排列与组合 71
3.2 排列组合的进一步讨论 74
3.2.1 圆周排列 74
3.2.2 有重复的排列 74
3.2.3 有重复的组合 76
3.3 生成排列和组合 78
3.3.1 生成排列 78
3.3.2 生成组合 80
3.4 生成函数及其应用 81
3.4.1 生成函数的定义 81
3.4.2 生成函数求解计数问题 82
3.4.3 使用生成函数求解递推关系 84
3.5 鸽巢原理 86
3.5.1 一般的鸽巢原理 86
3.5.2 推广的鸽巢原理 87
3.6 容斥原理 88
3.6.1 容斥原理 88
3.6.2 容斥原理的应用 91
习题3 93
第4章 关系 96
4.1 关系定义及其表示 96
4.1.1 关系的基本概念 96
4.1.2 二元关系的表示 97
4.2 关系的运算 98
4.2.1 关系的合成 98
4.2.2 逆运算 100
4.3 关系的性质 101
4.3.1 自反性与反自反性 101
4.3.2 对称性与反对称性 102
4.3.3 传递关系 103
4.4 n元关系及其应用 105
4.5 关系的闭包 108
4.5.1 闭包的概念和求法 108
4.5.2 Warshall算法 111
4.6 等价关系 112
4.6.1 等价关系与等价类 112
4.6.2 等价关系与划分 114
4.7 偏序关系 115
4.7.1 偏序关系和哈斯图 115
4.7.2 极值和最值 116
4.7.3 拓扑排序 117
4.8 函数 119
4.8.1 函数的定义 119
4.8.2 函数的类型 120
4.8.3 函数的运算 122
习题4 124
第5章 布尔代数 129
5.1 布尔函数 129
5.1.1 布尔函数和布尔表达式 129
5.1.2 布尔代数中的恒等式 131
5.2 布尔函数的表示 133
5.2.1 布尔函数的主析取范式 133
5.2.2 函数完备性 134
5.3 布尔代数的应用 135
5.3.1 门电路 135
5.3.2 卡诺图 136
习题5 138
第6章 图 140
6.1 图的基本概念 140
6.1.1 无向图和有向图 140
6.1.2 握手定理 144
6.1.3 图的同构 145
6.2 图的连通性 147
6.2.1 通路和回路 147
6.2.2 无向图的连通性 149
6.2.3 有向图的连通性 150
6.3 图的矩阵表示 150
6.3.1 关联矩阵 151
6.3.2 邻接矩阵 152
6.3.3 有向图的可达矩阵 154
6.4 一些特殊的图 155
6.4.1 二部图 155
6.4.2 欧拉图 156
6.4.3 哈密尔顿图 158
6.5 带权图的最短路径 161
6.5.1 Dijkstra算法 161
6.5.2 Floyd算法 163
6.5.3 旅行商问题 165
6.6 平面图 166
6.6.1 平面图的定义 166
6.6.2 欧拉公式 167
6.6.3 库拉图斯基定理 168
习题6 170
第7章 树 173
7.1 无向树的概念 173
7.1.1 无向树的定义 173
7.1.2 无向树的应用例子 174
7.2 生成树 175
7.2.1 生成树的定义 175
7.2.2 求最小生成树的算法 176
7.3 根树及应用 178
7.3.1 根树的定义及应用 178
7.3.2 最优二叉树和Huffman编码 180
7.3.3 二叉树的遍历 183
习题7 185
参考文献 187