好的 👍 阿杰,我来给你一个 集合论(Set Theory)详尽笔记,既有数学理论,也有 Python 实现示例,方便你学习和实践。
📘 集合论(Set Theory)
集合论是数学的基础之一,研究“对象的集体”,是代数、几何、逻辑和计算机科学的重要工具。
1️⃣ 基本概念
- 集合(Set):一组确定的、互不相同的对象(元素)的整体,记作大写字母 A,B,C。
- 元素(Element):集合中的成员,记作 a∈A。
- 空集(Empty set):没有元素的集合,记作 ∅。
- 全集(Universal set):讨论范围内的所有元素的集合,记作 U。
- 子集(Subset):若 A⊆B,表示 A 中的元素都属于 B。
- 真子集(Proper subset):若 A⊂B,并且 A≠B。
2️⃣ 集合运算
- 并集(Union)A∪B={x∣x∈A 或 x∈B}
- 交集(Intersection)A∩B={x∣x∈A 且 x∈B}
- 差集(Difference)A−B={x∣x∈A 且 x∉B}
- 补集(Complement)A′=U−A
3️⃣ 常见集合关系
- 相等:若 A⊆B 且 B⊆A,则 A=B。
- 不相交:若 A∩B=∅,则 A 与 B 不相交。
4️⃣ 集合运算的代数性质
- 交换律:A∪B=B∪A,A∩B=B∩A
- 结合律:(A∪B)∪C=A∪(B∪C)(A∩B)∩C=A∩(B∩C)
- 分配律:A∩(B∪C)=(A∩B)∪(A∩C)A∪(B∩C)=(A∪B)∩(A∪C)
- 德摩根律(De Morgan’s Laws):(A∪B)′=A′∩B′(A∩B)′=A′∪B′
5️⃣ 基数(Cardinality)
集合元素的个数:
- 有限集合:元素个数有限,如 ∣A∣=3。
- 无限集合:元素无限,如自然数集合 N。
- 可数无限:能与自然数一一对应的集合(如偶数集)。
- 不可数无限:无法与自然数一一对应(如实数集)。
6️⃣ 集合论与数学结构
- 自然数、整数、有理数、实数都可定义为集合。
- 函数可视为“有序对集合”。
- 关系(Relation)也是集合的子集。
7️⃣ Python 中的集合操作
# 定义集合
A = {1, 2, 3}
B = {3, 4, 5}
# 并集
print(A | B) # {1, 2, 3, 4, 5}
# 交集
print(A & B) # {3}
# 差集
print(A - B) # {1, 2}
# 对称差集
print(A ^ B) # {1, 2, 4, 5}
# 子集 & 超集
print(A <= B) # False
print(A >= {1, 2}) # True
✅ 总结
- 集合论是现代数学和计算机科学的基础。
- 重点:集合的表示、运算、性质、基数。
- 在编程中(如 Python),集合用于去重、快速查找、集合运算。
👌 明白了,阿杰。那我就给你写一份 超详尽的《集合论 + Python 实例》完整教程,既有数学定义、定理证明,也有对应的 Python 代码演示,帮你把数学和编程结合起来。
📘 集合论(Set Theory)+ Python 实例全教程
1️⃣ 集合的基本概念
- 集合(Set):由确定的、不重复的对象组成的整体。
- 数学记号:A={1,2,3},B={x∣x 是偶数}
- 元素(Element):属于集合的对象。
- 例:2∈A, 5∉A。
- 空集(Empty Set):不含任何元素,记作 ∅。
- 子集(Subset):若集合 A 的所有元素都属于集合 B,记作 A⊆B。
📌 Python 实现:
A = {1, 2, 3}
B = {2, 3, 4, 5}
print(2 in A) # True
print(5 in A) # False
# 子集判断
print(A <= B) # False
print({2, 3} <= B) # True
2️⃣ 集合运算
(1) 并集 Union
A∪B={x∣x∈A 或 x∈B}
A = {1, 2, 3}
B = {3, 4, 5}
print(A | B) # {1, 2, 3, 4, 5}
(2) 交集 Intersection
A∩B={x∣x∈A 且 x∈B}
print(A & B) # {3}
(3) 差集 Difference
A−B={x∣x∈A 且 x∉B}
print(A - B) # {1, 2}
print(B - A) # {4, 5}
(4) 补集 Complement
A′=U−A
📌 在编程中需要事先定义 全集 U:
U = {1, 2, 3, 4, 5}
A = {1, 2, 3}
print(U - A) # {4, 5}
(5) 对称差 Symmetric Difference
AΔB=(A−B)∪(B−A)
print(A ^ B) # {1, 2, 4, 5}
3️⃣ 集合的基本定律
(1) 交换律
A∪B=B∪A,A∩B=B∩A
print(A | B == B | A) # True
print(A & B == B & A) # True
(2) 结合律
(A∪B)∪C=A∪(B∪C)(A∩B)∩C=A∩(B∩C)
C = {5, 6}
print((A | B) | C == A | (B | C)) # True
(3) 分配律
A∩(B∪C)=(A∩B)∪(A∩C)A∪(B∩C)=(A∪B)∩(A∪C)
print(A & (B | C) == (A & B) | (A & C)) # True
(4) 德摩根律
(A∪B)′=A′∩B′,(A∩B)′=A′∪B′
U = {1, 2, 3, 4, 5, 6}
print(U - (A | B) == (U - A) & (U - B)) # True
4️⃣ 集合的基数(Cardinality)
- 基数:集合中元素的个数,记作 ∣A∣。
例:
- A={1,2,3},∣A∣=3
- N(自然数集)→ 可数无限
- R(实数集)→ 不可数无限
📌 Python 实现:
A = {1, 2, 3}
print(len(A)) # 3
5️⃣ 集合与函数
- 笛卡尔积(Cartesian Product):
A×B={(a,b)∣a∈A,b∈B}
📌 Python 实现:
from itertools import product
A = {1, 2}
B = {"x", "y"}
print(list(product(A, B)))
# [(1, 'x'), (1, 'y'), (2, 'x'), (2, 'y')]
- 函数:集合之间的映射,本质上是“有序对的集合”。
6️⃣ 集合论在计算机科学中的应用
- 数据库:SQL 查询中的
UNION, INTERSECT, EXCEPT
- 搜索引擎:倒排索引(关键词集合运算)
- 信息安全:集合运算用于权限管理
- 机器学习:样本集、训练集、测试集
✅ 总结
- 集合论的核心是 集合的定义、运算、定律和基数。
- Python 中的
set
提供了所有基本运算。 - 结合 数学公式 + 代码实践 能更好地理解抽象概念。
发表回复