计算理论:紧凑集合符号
外观
紧凑集合符号是描述集合中每个元素属性的实用工具,而不是写出集合的所有元素。
下表列出了紧凑集合符号所需的所有符号。
符号 | 含义 |
---|---|
x ∈ S | x 是 S 的元素 |
| | 使得 |
∧ | 和 |
∨ | 或 |
< | 小于 |
≦ | 小于或等于 |
> | 大于 |
≧ | 大于或等于 |
A ⊆ B | A 是 B 的子集 |
A ⊂ B | A 是 B 的真子集 |
C = A ∪ B | C 是 A 和 B 的并集 |
C = A ∩ B | C 是 A 和 B 的交集 |
C = A \ B | C 是 A 和 B 的差集 |
示例 1
我们可能想要描述一个集合 A,它包含所有大于 10 的自然数。
这意味着我们对 ℕ 的子集感兴趣,使得它的每个元素都大于 10。
使用集合符号,这个集合可以描述为
A = {x|x ∈ ℕ ∧ x> 10}
示例 2
这次集合 A 被描述为自然数,它们是 10 的倍数。这可以表示为
A = {10x|x ∈ ℕ}
示例 3
集合 A 的元素是所有偶数,最多包括 12。集合符号允许我们将这个集合写成 {0,2,4,6,8,10,12},在这个例子中是可行的。
然而,如果 A 被描述为所有偶数,最多包括 1,000,000,这将非常不切实际!
A = {2x | x ∈ N &and 2x ≦ 1,000,000}
下表解释了每个表达式是如何与集合 A 元素的英文描述相关联的。
英文描述... | ... 用集合符号表示 |
---|---|
x 必须是偶数 | 2x |
使得 | 2x | |
2x 必须是自然数 | 2x ∈ N |
2x 必须小于或等于 1,000,000 | 2x ≦ 1,000,000 |
示例 4
集合 A 被描述为所有 3 的自然倍数,小于 5,000。
A = {3x | x ∈ N ∧ 3x < 5,000}
下表解释了每个表达式是如何与集合 A 元素的英文描述相关联的。
英文描述... | ... 用集合符号表示 |
---|---|
x 必须是 3 的倍数 | 3x |
使得 | 3x | |
x 必须是自然数 | x ∈ N |
3x 必须小于 5,000 | 3x < 5000 |
问题 使用集合符号,定义集合 A 为所有能被 4 整除的数字。以下哪些术语适用于 A:可数、不可数、有限、无限。 答案 A = {4x | x ∈ N } 集合 A 是一个可数无限集。 |
并非每种编程语言都提供开箱即用的集合论计算能力。在 Visual Basic 中,它只有在 VB.NET 2008 及更高版本中才可用,使用 LINQ 库,您必须导入这些库才能使其工作
Imports System.Linq
Imports System.Xml.Linq
Module Module1
Sub Main()
Dim A() As Integer = {0,2,4,6,8,10,12}
Dim B() As Integer = {0,3,6,9,12}
Dim unionAB = A.Union(B)
Console.WriteLine("Union of A and B:")
For Each n In unionAB
Console.WriteLine(n)
Next
Dim differenceAB = A.Except(B) 'Except performs the same function as Difference
Console.WriteLine("Difference of A and B:")
For Each n In differenceAB
Console.WriteLine(n)
Next
Dim intersectAB = A.Intersect(B)
Console.WriteLine("Intersection of A and B:")
For Each n In intersectAB
Console.WriteLine(n)
Next
End Sub
End Module