离散数学概论
前言
离散数学是计算机专业的一门重要学科,它与计算机科学、算法有着密不可分的关系。本篇博客主要介绍离散数学基础知识,旨在帮助读者快速理解离散数学的核心概念和应用。
集合论
集合
集合是具有某种特定属性的对象的汇总。集合中的元素没有顺序之分,也不会出现重复的元素。
集合可以用大括号括起来表示,元素之间用逗号隔开。
例如:
A = { 1 , 2 , 3 , 4 , 5 } A = \{1,2,3,4,5\} A={1,2,3,4,5}
表示集合 A A A 包含元素 1 , 2 , 3 , 4 , 5 1,2,3,4,5 1,2,3,4,5。
子集
若一个集合 B B B 的所有元素都属于另一个集合 A A A,则称 B B B 是 A A A 的子集。
记作:
B ⊆ A B \subseteq A B⊆A
即 B B B 是 A A A 的子集。
并集
集合 A A A 和集合 B B B 的并集,即包含两个集合所有元素的集合,记作 A ∪ B A \cup B A∪B。
例如:
如果 A = { 1 , 2 , 3 } A = \{1,2,3\} A={1,2,3}, B = { 3 , 4 , 5 } B = \{3,4,5\} B={3,4,5},则 A ∪ B = { 1 , 2 , 3 , 4 , 5 } A \cup B = \{1,2,3,4,5\} A∪B={1,2,3,4,5}
交集
集合 A A A 和集合 B B B 的交集,即 A A A 和 B B B 共同包含的元素所组成的集合,记作 A ∩ B A \cap B A∩B。
例如:
如果 A = { 1 , 2 , 3 } A = \{1,2,3\} A={1,2,3}, B = { 3 , 4 , 5 } B = \{3,4,5\} B={3,4,5},则 A ∩ B = { 3 } A \cap B = \{3\} A∩B={3}
补集
设全集为 U U U,集合 A A A 的补集指全集 U U U 中不属于集合 A A A 的元素构成的集合,记作 A c A^{c} Ac。
例如:
如果 A = { 1 , 2 , 3 } A = \{1,2,3\} A={1,2,3}, U = { 1 , 2 , 3 , 4 , 5 } U = \{1,2,3,4,5\} U={1,2,3,4,5},则 A c = { 4 , 5 } A^{c} = \{4,5\} Ac={4,5}
笛卡尔积
设 A A A 和 B B B 为两个集合,它们的笛卡尔积 A × B A \times B A×B 是一个集合,其中的元素是有序二元组 ( a , b ) (a,b) (a,b),其中 a ∈ A , b ∈ B a \in A, b \in B a∈A,b∈B。
例如:
如果 A = { 1 , 2 } A = \{1,2\} A={1,2}, B = { 3 , 4 } B = \{3,4\} B={3,4},则 A × B = { ( 1 , 3 ) , ( 1 , 4 ) , ( 2 , 3 ) , ( 2 , 4 ) } A \times B = \{(1,3),(1,4),(2,3),(2,4)\} A×B={(1,3),(1,4),(2,3),(2,4)}
数理逻辑
命题
命题指可以判断真假的陈述句。例如:2 + 2 = 4。
逻辑运算
常见的逻辑运算有非、与、或三种。
- 非( ¬ \neg ¬ 或 ∼ \sim ∼):表示取反操作
- 与( ∧ \wedge ∧ 或 & \& &):表示且的关系
- 或( ∨ \vee ∨ 或 ∣ \mid ∣):表示或的关系
命题公式
命题公式是用命题符号表示的复合命题,例如: p ∧ q p \wedge q p∧q、 p ∨ ¬ q p \vee \neg q p∨¬q。
范式
命题公式用逻辑运算符连接命题变元而构成的式子称为命题范式。
例如:
( p ∧ q ) ∨ r (p \wedge q) \vee r (p∧q)∨r
为“析取范式”,又称为“合取取反范式”。
蕴含
p p p 蕴含 q q q 表示如果 p p p 成立,则 q q q 也成立,记作 p ⇒ q p \Rightarrow q p⇒q。
p p p 和 q q q 的一个真值赋值表如下:
p p p | q q q | p ⇒ q p \Rightarrow q p⇒q |
---|---|---|
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 真 |
假 | 假 | 真 |
图论
图的概念
图是由若干个顶点和若干条边组成的数学模型。设 V V V 表示一个非空顶点集合, E E E 表示连接这些顶点的线(边)的集合,用 G = ( V , E ) G = (V,E) G=(V,E) 表示一个图。
图的基本术语
- 无向图:每条边无方向性的图。
- 有向图:每条边有方向性的图。
- 简单图:没有重复边和自环的图。
- 完全图:任意两个不同的顶点之间都有一条边的无向图。
图的表示方法
- 邻接矩阵:将顶点作为矩阵的行列,矩阵中的值表示两个顶点是否相邻。
- 邻接表:以每个顶点为起点,记录所有与其相邻的顶点。
图的遍历
- 深度优先遍历:从一个起点开始,不断向下访问其它顶点直到走到终点,然后返回起点再访问其它分支。
- 广度优先遍历:从一个起点开始,依次访问当前节点的相邻节点,再访问相邻节点的未被访问过的相邻节点,直到访问完整张图。
最小生成树
最小生成树是指在一个连通的、有权图中,找出权值和最小的一棵生成树。常用 Kruskal 和 Prim 算法。
关系代数
关系的概念
关系是指一个集合到另一个集合的映射。设 A A A 和 B B B 为两个集合,关系 R R R 表示从 A A A 到 B B B 的一种对应方式,如果 ( a , b ) (a,b) (a,b) 属于 R R R,则称 a a a 关联于 b b b,记作 a R b a R b aRb。
关系运算
- 并: R ∪ S = { ( a , b ) ∣ a R b 或 a S b } R \cup S = \{(a,b) | a R b 或 a S b\} R∪S={(a,b)∣aRb或aSb},即关系 R R R 和 S S S 的并。
- 差: R − S = { ( a , b ) ∣ a R b 并且 ( a , b ) ∉ S } R - S = \{(a,b)|aRb 并且 (a,b) \not\in S\} R−S={(a,b)∣aRb并且(a,b)∈S},即关系 R R R 中去掉关系 S S S 中也有的元素。
- 交: R ∩ S = { ( a , b ) ∣ a R b 并且 a S b } R \cap S = \{(a,b) | a R b 并且 a S b\} R∩S={(a,b)∣aRb并且aSb},即关系 R R R 和 S S S 的交。
- 笛卡尔积: R × S = { ( a , b ) ∣ a R b , a ∈ A , b ∈ B } R \times S = \{(a,b) | a R b, a\in A, b \in B\} R×S={(a,b)∣aRb,a∈A,b∈B},即关系 R R R 和 S S S 的笛卡尔积。
关系约束
关系约束是用来限制关系中数据的约束规则。主要包括以下几种类型:
- 实体完整性约束
- 参照完整性约束
- 唯一性约束
习题
- 在集合 A = { 1 , 2 , 3 } A = \{1,2,3\} A={1,2,3} 和 B = { 3 , 4 , 5 } B = \{3,4,5\} B={3,4,5} 中,求 A A A 和 B B B 的并集。
- 什么是完全图?
- 什么是最小生成树?
结语
到这里,离散数学基础知识的介绍就结束了。希望读者通过本文的学习,能够对离散数学有一个初步的认识,逐渐深入理解其中的概念和应用。