集合等离散数据结构

集合

简单说一下集合的概念,集合包含一组可区分的对象,称为成员或元素。如果一个对象x是对象S的一个成员,记为 x ∈ S x\in{S} xS。如果x不是S的成员,则记为 x ∉ S x\notin{S} x/S。通过在一对大括号中显式列出集合的所有成员的方式描述一个集合,例如通过 S = { 1 , 2 , 3 } S = \{1,2,3\} S={1,2,3}定义一个包含成员1,2,3的集合。如果两个集合A和B包含相同的成员,则称A,B相等(忽略顺序和重复元素)。
常用集合有几种

  • ∅ \empty 表示空集
  • Z \Z Z表示整数集
  • R \R R表示实数集
  • N \N N表示自然数集

如果集合A的所有元素都在集合B中,即如果 x ∈ A x\in{A} xA就有 x ∈ B x\in{B} xB,则可以记为 A ⊆ B A\subseteq{B} AB,集合A是集合B的一个子集。当且仅当 A ⊆ B A\subseteq{B} AB B ⊆ A B\subseteq{A} BA时,有A=B。对于任意三个集合A,B,C,如果 A ⊆ B A\subseteq{B} AB B ⊆ C B\subseteq{C} BC,则 A ⊆ C A\subseteq{C} AC。对于任意集合A,有 ∅ ⊆ A \empty\subseteq{A} A

集合操作服从下列定律:
空集律
A ⋂ ∅ = ∅ A ⋃ ∅ = A A\bigcap{\empty} = \empty \\ A\bigcup{\empty} = A A=A=A
幂等律
A ⋂ A = A A ⋃ A = A A\bigcap{A} = A \\ A\bigcup{A} = A AA=AAA=A
交换律
A ⋂ B = B ⋂ A A ⋃ B = B ⋃ A A\bigcap{B} = B\bigcap{A} \\ A\bigcup{B} = B\bigcup{A} AB=BAAB=BA
结合律
A ⋂ ( B ⋂ C ) = ( A ⋂ B ) ⋂ C A ⋃ ( B ⋃ C ) = ( A ⋃ B ) ⋃ C A\bigcap({B}\bigcap{C}) = (A\bigcap{B})\bigcap{C} \\ A\bigcup({B}\bigcup{C}) = (A\bigcup{B})\bigcup{C} A(BC)=(AB)CA(BC)=(AB)C
分配律
A ⋂ ( B ⋃ C ) = ( A ⋂ B ) ⋃ ( A ⋂ C ) A ⋃ ( B ⋂ C ) = ( A ⋃ B ) ⋂ ( A ⋃ C ) A\bigcap({B}\bigcup{C}) = (A\bigcap{B})\bigcup(A\bigcap{C}) \\ A\bigcup({B}\bigcap{C}) = (A\bigcup{B})\bigcap(A\bigcup{C}) A(BC)=(AB)(AC)A(BC)=(AB)(AC)
吸收律
A ⋂ ( A ⋃ B ) = A A ⋃ ( A ⋂ B ) = A A\bigcap({A}\bigcup{B}) = A \\ A\bigcup({A}\bigcap{B}) = A A(AB)=AA(AB)=A
德·摩根律
A − ( B ⋂ C ) = ( A − B ) ⋃ ( A − C ) A − ( B ⋃ C ) = ( A − B ) ⋂ ( A − C ) A-({B}\bigcap{C}) = (A-B)\bigcup(A-C) \\ A-({B}\bigcup{C}) = (A-B)\bigcap(A-C) A(BC)=(AB)(AC)A(BC)=(AB)(AC)

通常,所有被考虑的集合都是一个全域U的子集,例如,当考虑各种仅有整数组成的集合时,集合Z就是个合适的全域。给定一个全集U,可以定义A的补集为 A ˉ = U − A \bar{A} = U - A Aˉ=UA,对于任何集合 A ⊆ U A\subseteq{U} AU,有以下定律:
A ˉ ˉ = A A ⋂ A ˉ = ∅ A ⋃ A ˉ = U \bar{\bar{A}} = A \\ A\bigcap{\bar{A}} = \empty \\ A\bigcup{\bar{A}} = U Aˉˉ=AAAˉ=AAˉ=U
德·摩根律可以补集形式表示。对任意两个集合 B , C ⊆ U B,C\subseteq{U} B,CU,有
B ⋂ C ‾ = B ˉ ⋃ C ˉ B ⋃ C ‾ = B ˉ ⋂ C ˉ \overline{B\bigcap{C}} = \bar{B}\bigcup{\bar{C}} \\ \overline{B\bigcup{C}} = \bar{B}\bigcap{\bar{C}} BC=BˉCˉBC=BˉCˉ
如果集合A和B没有公共的元素,即 A ⋂ B = ∅ A\bigcap{B} = \empty AB=,则称两者不相交。如果一个非空集合 δ = { S i } \delta = \{S_i\} δ={Si}满足条件

  • 集合两两不相交,即对 S i , S j ∈ δ S_i,S_j\in{\delta} SiSjδ,如果 i ≠ j i \neq{j} i=j,则 S i ⋂ S j = ∅ S_i\bigcap{S_j} = \empty SiSj=
  • 他们的并集是S,即
    S = ⋃ S i ∈ δ S i S = \bigcup\limits_{S_i\in\delta}S_i S=SiδSi
    则称集合 δ \delta δ是集合S的一个划分。换句话说,如果S中的每个元素仅出现在一个 S i ∈ δ S_i\in{\delta} Siδ,则称 δ \delta δ为集合S的一个划分。
           集合中元素的个数称为j集合的势,记为 ∣ S ∣ \left|S\right| S。如果两个集合的元素可以形成一一对应,则称两个集合有相同的势。空集的势为0。如果一个集合的势是自然数,则称集合是有限的,反之,他是无限的。如果一个无限集合可以跟自然数集合N形成一一对应,则称其为可数无限;反之,则称其为不可数。整数集Z是可数的,而实数集R是不可数的。
    一个具有n个元素的有限集合常被称为n维集。一个一维集也成为单元集。一个集合的k个元素的子集称为k子集。
    集合S的所有子集的集合,包括空集和S本身表示为 2 S 2^S 2S,称为S的幂集。例如 2 { a , b } = { ∅ , { a } , { b } , { a , b } } 2^{\{a,b\}} = \{\empty,\{a\},\{b\},\{a,b\} \} 2{a,b}={,{a},{b},{a,b}}。有限集S的幂集的势是 2 ∣ S ∣ 2^{\left|S\right|} 2S
    可以使用组合证明,先找有0个元素的子集,再找有1个元素的子集……最后找有n个元素的子集,他们的个数分别是 ∑ k = 0 n ( n k ) \sum\limits_{k=0}^{n}{ n \choose k} k=0n(kn),恰好是 2 n 2^n 2n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值