計算理論:緊湊集合符號
外觀
緊湊集合符號是描述集合中每個元素屬性的實用工具,而不是寫出集合的所有元素。
下表列出了緊湊集合符號所需的所有符號。
| 符號 | 含義 |
|---|---|
| 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