離散數學拾趣(三) 集合的子集有多少個

2021-09-06 02:37:37 字數 1033 閱讀 4791

集合廣泛應用於計數問題,這類問題需要討論集合的大小。

令s為集合。若s中恰有n個不同的元素,n是非負整數,就說s是有限集合,而n是s的基數,用|s|表示。若s=,則|s| = 3。

有時候需要考慮乙個集合的元素所有可能的組合,看它們是否具有某種性質。為此構造乙個新的集合,它以s的所有子集作為它的元素,該集合稱為s的冪集合,記為p(s)。

比如:方法一:首先觀察上面例子中的三個集合,它們的基數分別是0、1、2,而它們的冪集合的基數分別是

基礎步驟:由上面例子可知,當n=0時命題為真。

歸納步驟:假定當n=k時命題成立,即每個有k個元素的集合有

方法二:對於集合s,|s|=n。可以按任意順序將這n個元素排成乙個序列,要確定乙個子集,也就是對於n個元素依次確定它是否屬於該子集,如果屬於記為1,否則記為0。這樣,確定了乙個集合之後,也確定了乙個n位長的二進位制串。(假設s有3個元素,其中的乙個二進位制串是110,它表示前兩個元素屬於相應的子集,而第三個元素不屬於)可以得出,s的所有子集與所有n位的二進位制串一一對應,而對於n位的二進位制串,由乘積法則(或乘法原理)可知共有

方法三:對於集合s,|s|=n,該命題還可以使用組合證明。可以按如下順序尋找s的子集:先找有0個元素的子集;再找有1個元素的子集;...;最後找有n個元素的子集(

對於這種方法,在離散數學中會比較常見,在計數的時候通過一一對應將問題轉化為更簡單的問題,比如二進位制串、樹的路徑等。

在撰寫本文內容時,也是在嘗試openoffice math和live writer結合使用,使用oo math編寫數學公式,最後文件可以直接匯出為html,其中的公式以gif的格式建立,以firefox開啟生成的html檔案,通過blog this for firefox外掛程式可以將檔案內容拷貝到乙個新的post中,然後微調,效果沒有生成的html好,不過還可以接受。在firefox瀏覽,預設情況下公式可能會有些模糊,可以將字型縮小一點兒。不知道怎樣才能在html中更好地新增數學公式?清晰版的還是看pdf吧。

參考: 《

離散數學及其應用》

離散數學二 集合的包含

time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 已知含n個元素的集合的子集a和b,用位串表示法判斷是否有a b。input 多組測試資料,每組測試資料第1行輸入正整數n 1 ...

Python3實戰三 集合(Set)

集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。實戰 s set 1 2,3 4,4 4,4 新建集合方式1 s0 新建集合方式2 s1 s2 set print s print s0 pr...

redis基本資料結構 (三)集合

2.2集合之間的操作 3 常用集合命令時間複雜度 2.1.1新增元素 sadd key element element 2.1.2刪除元素 2.1.3計算元素的個數 2.1.4判斷元素是否在集合中 sismember key element 2.1.5隨機從集合返回指定個數元素srandmember...