以前學習排列組合不用功,現在來鍛鍊一下,歡迎拍磚指正!
人們一般認為的排列組合是什麼意思? ,比如 糖果有5種顏色, 水果也有4種, 餅乾有3種. 我想糖果,水果,餅乾各有一樣,總過有多少種不同的組合?有多少種不同的排列方式?
以前我以為所謂的組合說的就是上面這種型別,但是組合和排列的數學定義是這樣的, 有n個東西,每次選擇m個(小於等於n)出來, 組合排列有多少.
所謂的數學公式都是定義在這種數學模型上的.
首先,數學上不要求分類,或者可以說是要求同一類的東西,任意選擇m個出來. 而生活中經常有好多種分類,然後每一類種選擇一個出來,這兩種模型有很大的區別.
那麼數學上如何考慮不同種類的組合問題呢?
數學上把這個問題視為兩個步驟,第一個是排列組合問題,第二個是所謂的"分步分類"問題.
第一步: 糖果有5種,然後選擇1種出來,這就是符合排列組合數學定義的說法.
如果m = n, 那麼只能有一種組合.n! 種排列.
如果m= 1 ,那麼有n個組合
組合公式是c = a/m!. 也就是排列數除以排列方式個數
排列a = n!(m次) = 5!(1) = 5.
組合c = a/m! = 5/1 = 5.
也就是糖果的組合有5種,水果4種,餅乾3種.
第二步: 三個型別如何組合起來?數學上沒有明確的公式,只是有一種所謂的"分步或分類"思路.
分步或分類是怎麼樣的操作法,我楞是沒搞懂~~
其實這個就是人們常識中的組合問題:不同種的東西,每個種類有n個元素,有多少種組合,就是兩兩相乘.
組合c = 5 * 4 * 3 = 60.
排列a = c * m! = 60 * 3! = 360.
總結:一,組合比排列難理解,所以都是通過先求出排列,再求組合
二,排列和組合的數學公式都是針對同類事物而言
三,組合是排列的一個樣例, 組合 * 排列方式的個數 = 排列
四,排列方式的個數是相對每個元素而言的,也可以理解為選取後位置的排列數
五,不同種類的組合只需要兩兩相乘
六,排列是多次選取的結果,所形成不同種類的分組後,兩兩相乘的結果
七,不同種類的排列只需要先求出組合, 然後套用 組合*排列方式 = 排列 公式.
八,更普遍的情況比如: 有三個種類,選出不同種類的兩項 ,得出排列組合的數目.
當3選3的時候,只有一種組合,當3選2的時候,有3種不同的組合:
糖果5 + 水果4 = 4*5 =20.
糖果5 + 餅乾3 = 5 *3 = 15.
水果4 + 餅乾3 = 4 *3 = 12
c = 20 + 15 + 12= 47.
a = 47 * 2! = 94.
補充:學習排列組合的樂趣,在於可以算賭博機率.
比如雙色球 33 + 16
c33,6 = 33 * 32 * 31 * 30 * 29 * 28 / 6 * 5 * 4 * 3 * 2 * 1 = 110'7568
c16,1 = 16
c33,6 * c16,1 = 1772'1088
每張彩票2元, 想要用錢砸出400萬頭獎,算起來還虧了3144萬.
大樂透 c35,5 * c12,2 = 32'4632 * 66 = 2142'5712
一張彩票3元,想要用錢砸120萬頭獎,會虧掉6307萬.
七樂彩 c30,7 = 203'5800
一張彩票2元,想要用錢砸400萬頭獎,居然只是虧7萬塊?!
劍指Offer面試題 26 字串的排列
題目 輸入一個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a b c所能排列出來的所有字串abc acb bac...