設定計算器

執行集合運算:並、交、差、對稱差、笛卡兒積和集合關係。

關於這個計算器

Operate on two sets entered as comma-separated values. The tool returns union, intersection, difference, and symmetric difference, plus set membership checks.

Set operations

  • Union (A ∪ B) — everything in A or B.
  • Intersection (A ∩ B) — only items in both A and B.
  • Difference (A − B) — items in A but not in B.
  • 對稱差 — items in either set but not both.

How to enter sets

Type values separated by commas, e.g. 1, 2, 3. Duplicates are removed automatically because a set holds each element at most once.

Where this is used

Set logic underpins database queries, probability, logic design, and data de-duplication.

如何使用設定計算器

  1. 1輸入集合 A 與集合 B 的元素,用逗號分隔。
  2. 2選擇運算:並集、交集、差集或對稱差集。
  3. 3檢視結果集合,以去重後的成員列出。

集合運算詳解

並集 A∪B、交集 A∩B、差集 A−B、對稱差 (A−B)∪(B−A)

集合是互異元素的彙集;集合運算組合或比較集合時不計重複。

並集保留全部,交集只保留共有項,差集保留屬於其一但不屬於另一的部分。

集合運算最容易混淆的是差集的方向:A − B 是「在 A 中但不在 B 中」,反過來 B − A 是「在 B 中但不在 A 中」,兩者一般不相等。用上表的例子,A − B = {1, 2},而 B − A = {4, 5}。判斷技巧:先看減號前面的集合,從中剔除後面集合含有的元素。

容斥原理是集合運算最重要的實用公式:|A ∪ B| = |A| + |B| − |A ∩ B|。直接相加會把交集部分算兩次,所以要減掉一次。上例中 |A| = 3、|B| = 3、|A ∩ B| = 1,所以 |A ∪ B| = 3 + 3 − 1 = 5,與實際的 {1,2,3,4,5} 相符。這個原理可以推廣到三個及以上集合,是機率論和計數問題的基礎工具。

運算符號含義示例(A={1,2,3}, B={3,4,5})
並集A ∪ B屬於 A 或 B 的所有元素{1, 2, 3, 4, 5}
交集A ∩ B同時屬於 A 和 B 的元素{3}
差集A − B屬於 A 但不屬於 B 的元素{1, 2}
補集A′全集中不屬於 A 的元素取決於全集定義
對稱差A △ B只屬於其中一個集合的元素{1, 2, 4, 5}

集合的基本運算

常見問題

為何集合中無重複?

按定義集合每個元素最多出現一次,重複會合並。

什麼是對稱差集?

恰好屬於兩個集合中某一個的元素,排除共有成員。

集合有序嗎?

否,{1,2,3} 等於 {3,2,1};只關心成員關係。

集合裡的元素能重複嗎?

不能,這是集合與「列表/多重集」的核心區別。集合中的每個元素只能出現一次,{1, 1, 2} 和 {1, 2} 是同一個集合。另外集合**沒有順序**,{1, 2, 3} 和 {3, 2, 1} 完全相同。如果業務需要保留重複次數或順序,應使用多重集(multiset)或列表/陣列。資料庫中的 DISTINCT 操作本質就是在去重、把結果當集合處理。

集合運算在程式設計中怎麼實現?

多數語言內建了集合型別:Python 用 set(支援 & 交集、| 並集、− 差集、^ 對稱差),JavaScript 有 Set(需自己實現運算或用擴充套件方法),SQL 用 UNION/INTERSECT/EXCEPT。集合的底層通常是雜湊表,因此查詢、插入的平均複雜度是 O(1),去重和成員判斷非常高效。處理「找出兩份名單的差異」這類任務時,用集合比巢狀迴圈快得多。

更多工具