集合等离散数据结构

集合

简单说一下集合的概念,集合包含一组可区分的对象,称为成员或元素。如果一个对象x是对象S的一个成员,记为x∈Sx\in{S}xS。如果x不是S的成员,则记为x∉Sx\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\ZZ表示整数集
  • R\RR表示实数集
  • N\NN表示自然数集

如果集合A的所有元素都在集合B中,即如果x∈Ax\in{A}xA就有x∈Bx\in{B}xB,则可以记为A⊆BA\subseteq{B}AB,集合A是集合B的一个子集。当且仅当A⊆BA\subseteq{B}ABB⊆AB\subseteq{A}BA时,有A=B。对于任意三个集合A,B,C,如果A⊆BA\subseteq{B}ABB⊆CB\subseteq{C}BC,则A⊆CA\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=AA⋃A=A A\bigcap{A} = A \\ A\bigcup{A} = A AA=AAA=A
交换律
A⋂B=B⋂AA⋃B=B⋃A A\bigcap{B} = B\bigcap{A} \\ A\bigcup{B} = B\bigcup{A} AB=BAAB=BA
结合律
A⋂(B⋂C)=(A⋂B)⋂CA⋃(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)=AA⋃(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 - AAˉ=UA,对于任何集合A⊆UA\subseteq{U}AU,有以下定律:
Aˉˉ=AA⋂Aˉ=∅A⋃Aˉ=U \bar{\bar{A}} = A \\ A\bigcap{\bar{A}} = \empty \\ A\bigcup{\bar{A}} = U Aˉˉ=AAAˉ=AAˉ=U
德·摩根律可以补集形式表示。对任意两个集合B,C⊆UB,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} = \emptyAB=,则称两者不相交。如果一个非空集合δ={Si}\delta = \{S_i\}δ={Si}满足条件

  • 集合两两不相交,即对Si,Sj∈δS_i,S_j\in{\delta}SiSjδ,如果i≠ji \neq{j}i=j,则Si⋂Sj=∅S_i\bigcap{S_j} = \emptySiSj=
  • 他们的并集是S,即
    S=⋃Si∈δSi S = \bigcup\limits_{S_i\in\delta}S_i S=SiδSi
    则称集合δ\deltaδ是集合S的一个划分。换句话说,如果S中的每个元素仅出现在一个Si∈δS_i\in{\delta}Siδ,则称δ\deltaδ为集合S的一个划分。
           集合中元素的个数称为j集合的势,记为∣S∣\left|S\right|S。如果两个集合的元素可以形成一一对应,则称两个集合有相同的势。空集的势为0。如果一个集合的势是自然数,则称集合是有限的,反之,他是无限的。如果一个无限集合可以跟自然数集合N形成一一对应,则称其为可数无限;反之,则称其为不可数。整数集Z是可数的,而实数集R是不可数的。
    一个具有n个元素的有限集合常被称为n维集。一个一维集也成为单元集。一个集合的k个元素的子集称为k子集。
    集合S的所有子集的集合,包括空集和S本身表示为2S2^S2S,称为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=0n(nk)\sum\limits_{k=0}^{n}{ n \choose k}k=0n(kn),恰好是2n2^n2n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值