程序員的數(shù)學(xué)I

排列組合 I 解決計(jì)數(shù)問(wèn)題的方法

  • 計(jì)數(shù)——與整數(shù)的對(duì)應(yīng)關(guān)系

計(jì)數(shù)就是計(jì)數(shù)對(duì)象和整數(shù)的對(duì)應(yīng)起來(lái)的過(guò)程,注意兩點(diǎn):

  1. 遺漏
  2. 重復(fù)

如果需要計(jì)數(shù)的對(duì)象多到無(wú)法數(shù)數(shù),就需要找到和整數(shù)之間的對(duì)應(yīng)規(guī)則,為此,我們必須理解計(jì)數(shù)對(duì)象具有怎么樣的特性和結(jié)構(gòu)

  • 思考:植樹(shù)問(wèn)題,在10米長(zhǎng)的路上,從路的一端起每隔1米種一棵樹(shù),那么需要種多少棵樹(shù)?

0,1,2,...10 不要忘記0哦,所以是11棵樹(shù)
10/1的結(jié)果是間隔數(shù)
抽象 n米種樹(shù)n+1棵

  • 思考:內(nèi)存中排列著程序要處理的100個(gè)數(shù)據(jù),從第一個(gè)數(shù)據(jù)開(kāi)始編號(hào)為0,依此類(lèi)推最后一個(gè)數(shù)據(jù)的編號(hào)是?

99號(hào)
歸納總結(jié) 第k個(gè)數(shù)據(jù)是k-1號(hào)

加法法則

加法法則就是將無(wú)“重復(fù)”元素的兩個(gè)集合A,B相加,得到A和B并集的元素?cái)?shù)

  • A并B的元素?cái)?shù) = A的元素?cái)?shù) + B的元素?cái)?shù)
  • 加法法則只在集合中元素?zé)o重復(fù)的條件下成立

容斥原理

  • 思考:控制亮燈的撲克牌,一副牌有(1->K)13個(gè)級(jí)別,假設(shè)J,Q,K用11,12,13代替,在你面前放一個(gè)裝置,往里面放1張牌,它就會(huì)根據(jù)牌的級(jí)別控制燈泡的亮滅。我們?cè)O(shè)放入的牌的級(jí)別為n(1-13的整數(shù))
    1. 若n是2的倍數(shù),則亮燈
    2. 若n是3的倍數(shù),也亮燈
    3. 若n既不是2的倍數(shù),也不是3的倍數(shù),則滅燈
      往這個(gè)裝置中依次放入13(1...13)張牌,其中亮燈的有多少?gòu)埮颇兀?/li>

答案:6+4 -2 = 8
利用了容斥原理,2的倍數(shù)和3的倍數(shù)如果有重復(fù)的倍數(shù),就是6,6的倍數(shù)有兩次→6,12 2的倍數(shù)的個(gè)數(shù)6加上3的倍數(shù)的個(gè)數(shù)4,減去重復(fù)的倍數(shù)的個(gè)數(shù)2,就是答案

  • 容斥原理就是考慮了重復(fù)元素的加法法則
    集合A、B的元素總和 = A的元素?cái)?shù) + B的元素?cái)?shù) - A和B共同的元素?cái)?shù)

乘法法則

根據(jù)兩個(gè)集合進(jìn)行配對(duì)的法則

  • 思考:一副牌中四種花色,每個(gè)花色13張牌,那么總共有幾張牌?

4 * 13 = 52
A和B兩個(gè)集合,所有元素分別結(jié)合起來(lái),組合的總數(shù)就是相乘得到的結(jié)果

  • 思考:將三個(gè)骰子(1-6點(diǎn))并列放置,形成3位數(shù),一共能形成多少個(gè)數(shù)字?

沒(méi)錯(cuò),6 * 6 * 6 = 216

  • 思考:32個(gè)燈泡一排,每個(gè)燈泡可以亮滅,問(wèn)共有多少種亮滅模式

每一種2個(gè),2x2x2......2(共32個(gè))
2^32=4294967296

置換

將n個(gè)事物按順序進(jìn)行排列稱(chēng)作置換(subsitution)

  • 思考:3張牌的置換,如果將A,B,C三張牌按照ABC,ACB,BAC等順序排列,共有多少種排法?

6種
可以看出,第一張牌有3種選法,第二張牌有2種,第三張牌有1種,3 * 2 * 1 = 6
對(duì),這就是階乘1!=1 2!=2 3!=6 4!=24

排列組合II

  • 思考:從5張牌中任意取出3張進(jìn)行排列,請(qǐng)問(wèn)有多少種排列方法?

答案明天揭曉~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 排列組合II 思考:從5張牌中任意取出3張進(jìn)行排列(permutation),請(qǐng)問(wèn)有多少種排列方法? 排列和置換相...
    鍋巴GG閱讀 390評(píng)論 0 0
  • 遞歸——自己定義自己 GNU是什么的縮寫(xiě)?“GNU is Not Unix”這里面的GNU又是什么的縮寫(xiě)?“GNU...
    鍋巴GG閱讀 942評(píng)論 0 1
  • 數(shù)序歸納法——如何征服無(wú)窮序列 高斯求和 思考題——存錢(qián)罐里的錢(qián) 第1天,往存錢(qián)罐里投入1元,存錢(qián)罐總金額為1元第...
    鍋巴GG閱讀 269評(píng)論 0 0
  • 簡(jiǎn)書(shū)不支持LaTex... 余數(shù) 周期性和分組 思考:奇數(shù)和偶數(shù) 奇數(shù)是被2除余1的整數(shù)偶數(shù)是被2整除(余0)的...
    鍋巴GG閱讀 996評(píng)論 0 1
  • 遞歸——自己定義自己2 思考:和的定義 假設(shè)n為0以上的整數(shù),使用遞歸的方式從0到n的整數(shù)之和。n=0時(shí), S(n...
    鍋巴GG閱讀 1,259評(píng)論 0 1

友情鏈接更多精彩內(nèi)容