【离散数学中的数据结构与算法】七 排列与组合三
- 前兩篇文章學(xué)習(xí)了不可重復(fù)選取的排列與可重復(fù)選取的可重排列。本篇文章開始學(xué)習(xí)組合的相關(guān)定理。
文章目錄
- 1 組合
- 1.1 組合的計算公式
- 2 總結(jié)
1 組合
跟排列一樣。組合也分為不重復(fù)選取的組合,與可重復(fù)選取的可重組合。本節(jié)內(nèi)容主要學(xué)習(xí)不可重復(fù)選取的組合
從 n 個不同元素中取 r 個不重復(fù)的元素組成一個子集, 而不考慮其元素的順 序 , 稱 為 n 取 r 的 組 合 ( r -combination) , 該子集稱作 r -子集(r-subset) 。 n 取 r 組合的全體構(gòu)成的集合用 C(n, r) 表示, 其元素個數(shù)用*C(n, r)*表示。(為了便于書面理解,以后都用C(n, r)表示元素個數(shù))
設(shè)集合 A={a, b, c, d}, 則 A 上的所有4取3的組合是:
1.1 組合的計算公式
一般的有:
- C(n, r) * r! = P(n, r)
當(dāng)n >= r時, C(n, r)=C(n, n-r)
一個社團(tuán)共有10名成員,從中選出3人組成指導(dǎo)委員會,則共有C(10, 3)=120種方法。(注意與之前的排列進(jìn)行比較,這里直選三人,不確定這三人的職位,所以這三人不用再排列)
從(0, 0)點出發(fā)沿 x 軸或 y 軸的正方向每步走一個單位,最終走到 (m, n) 點, 有多少條路徑?
總共有8次向上走,10次向右走,一共走18步。只要在這18步中選擇8步作為向上走(或者選擇10步作為向右走即可,并且選擇的步數(shù)不用有順序)。所以答案為C(10+8 , 8) 或者C(10+8, 10)
回到曾經(jīng)學(xué)習(xí)排列的時候遇見過的問題:由a, b, b, e, e, h, i, s, s, t, t, t可以組成多少個長度為12的字符串?
當(dāng)時學(xué)習(xí)排列的時候我們已經(jīng)學(xué)會使用排列的知識去計算,現(xiàn)在我們學(xué)習(xí)了組合的公式,我們還可以使用組合的公式進(jìn)行計算。如下分析:
-
首先先將三個t選擇三個位置存放:
這就是C(12,3)種方法 -
然后再剩余的9個位置選兩個位置存放s:
這就是C(9,2)種方法 -
剩余的7個位置選兩個位置存放e:
C(7, 2) 種可能 -
剩余的5個位置選兩個位置存放b:
C(5, 2) 種可能 -
然后最后剩余三個字符:a,h,i ,剩余三個空白位置:
對剩余三個位置進(jìn)行全排列:3!種可能。
所以最終有:C(12, 3) * C(9, 2) * C(7, 2) * C(5, 2) * 3!=9979200 種可能 這與之前我們學(xué)習(xí)排列的時候計算的結(jié)果是一樣的。
2 總結(jié)
- 學(xué)會不可重復(fù)選取的組合的計算公式
總結(jié)
以上是生活随笔為你收集整理的【离散数学中的数据结构与算法】七 排列与组合三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DOxygen for C++使用说明—
- 下一篇: Firefly III 搭建个人财务记账