集合の基本についてまとめる。
集合論における集合とは、特定条件を満たす要素の集まりのこと。
集合に含まれる要素のことを元という。(当記事内では要素と表記する。)
ソフトウェアエンジニアにとって集合は、データ構造やアルゴリズムの基礎概念である。配列やマップ、グラフ理論や組み合わせ理論など集合の概念が関係している。
RDBにおいては、集合論が非常に重要な概念になっており、リレーションやタプル、SQLなどは集合そのものとも言える。
cf. bmf-tech.com - 理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
集合論は論理学にも関連しており、論理の表現として集合が利用されることもある。
また、問題に対する抽象的な思考整理にも役立つため、問題解決のための基礎力にも関係する。
集合はソフトウェアエンジニアリングの基礎概念であり、データ構造やアルゴリズムを最適に取り扱うことができる。また、課題解決のための1要素として役立てることで、課題解決力を養うこともできる。
aは集合Aの要素である。
A = {a, b, c, ...}
a ∈ A
aは集合Aの要素ではない。
A = {a, b, , ...}
a ∉ A
集合Aは集合Bの部分集合である。A=Bも該当する。
A = {1, 2, 3}
B = {1, 2, 3, 4, 5}
A ⊂ B
集合Bは集合Aの部分集合である。B⊂Aに等しい。
A = {1, 2, 3, 4, 5}
B = {2, 3}
A ⊃ B
要素を持っていない集合。
φ = {}
集合Aと集合Bを足し合わせた集合。要素は集合Aか集合Bのどちらか、あるいは両方に属している。(≒少なくとも片方の集合に属している。)
A = {1, 2, 3}
B = {3, 4, 5}
A ∪ B = {1, 2, 3, 4, 5}
集合Aと集合Bの共通集合。要素は集合Aと集合Bの両方に属している。
A = {1, 2, 3}
B = {3, 4, 5}
A ∩ B = {3}
集合Aと集合Bから要素を一つずつ取り出して組にしたもの。
A = {1, 2}
B = {x, y}
A × B = {(1, x), (1, y), (2, x), (2, y)}
集合Aから集合Bに属する要素を取り除いて得られる集合。
A = {1, 2, 3, 4}
B = {3, 4, 5}
A \ B = {1, 2}
記号としては、集合をAとした場合、Aの上にバーがつく。
集合Aが全体集合Uの部分集合であるとき、全体集合Uから集合Aを取り除いて得られる集合。
U = {1, 2, 3, 4, 5} # 全体集合
A = {1, 2, 3}
A' = {4, 5}