組合數(shù)學(xué)-Bell數(shù)與Stirling數(shù)

排列組合逐漸進(jìn)入正軌,這節(jié)介紹兩類(lèi)特殊排列組合數(shù)冰抢,變個(gè)角度也可以稱(chēng)為三類(lèi)松嘶,再變一個(gè)角度又可以稱(chēng)為兩類(lèi)】嫒牛看完看完這篇blog學(xué)了之后就會(huì)明白??翠订。

Stirling數(shù)

Stirling 數(shù)是一類(lèi)特殊的排列組合數(shù),它分為兩類(lèi)遵倦,第一類(lèi)Stirting數(shù)和第二類(lèi)Stirting數(shù)尽超,這兩種數(shù)聯(lián)系不大,但是證明上卻有相似之處梧躺,且慢慢看來(lái)...??

第一類(lèi)Stirting數(shù)

第一類(lèi)Stirling數(shù)討論的是把N個(gè)元素放入K個(gè)環(huán)排列的方法數(shù)似谁。其中S(n,0) =0 ; S(1,1) = 1 ; S(n,k) = S(n-1 , k-1) +(n-1)*S(n-1,k)

環(huán)排列,n個(gè)數(shù)字的環(huán)排列可以理解為把n個(gè)數(shù)字圍成一個(gè)環(huán)形掠哥,沒(méi)有起點(diǎn)終點(diǎn)巩踏,也就是說(shuō)判定這個(gè)環(huán)的異同只能根據(jù)數(shù)字之間的相對(duì)位置來(lái)看,所以 1龙致,2蛀缝,3,4 與4目代,1屈梁,2,3榛了,以及3在讶,4,1霜大,2其實(shí)是同一個(gè)環(huán)排列构哺,而1,2战坤,3曙强,4與4,3途茫,2碟嘴,1,就不是同一個(gè)環(huán)排列.讀到這里你應(yīng)該能直到環(huán)排列的意思了囊卜。

而第一類(lèi)Stirting數(shù)就是解決這個(gè)問(wèn)題娜扇,遞推公式我已給出错沃,至于為什么這樣遞推,下面我給出證明:

證明

設(shè)n個(gè)元素 a[1]~a[n] 放入k個(gè)環(huán)排列中的方法數(shù)是S(n,k),在放的過(guò)程中雀瓢,其實(shí)有如下兩種互不相容的情況:

? 如果a[n]這個(gè)元素是k個(gè)環(huán)排列中單獨(dú)的一個(gè)環(huán)排列(也就是說(shuō)這一個(gè)數(shù)字單獨(dú)成一個(gè)環(huán)排列)枢析,那么其余的n-1個(gè)數(shù)字只能放入剩下的k-1個(gè)環(huán)排列中,方法數(shù)就是S(n-1,k-1)
? 如果a[n]不單獨(dú)形成一個(gè)環(huán)排列(也就是說(shuō)a[n]在其它環(huán)排列里面)刃麸,那么剩 下n-1個(gè)元素就可以放入k個(gè)環(huán)排列中去醒叁,方法數(shù)是S(n-1,k),而這個(gè)時(shí)候重點(diǎn)來(lái)了:a[n]這個(gè)元素該怎么放,他要放到k個(gè)環(huán)排列中的方法數(shù)是多少嫌蚤?答案是n-1中辐益,而不是k種(因?yàn)榄h(huán)排列考慮的相對(duì)位置,這個(gè)不懂可以問(wèn)我)所以這種情況就是S(n-1,k)*(n-1)咯

所以綜合以上兩種情況脱吱,根據(jù)加法原理n個(gè)元素放入k個(gè)環(huán)排列種的方法數(shù)是S(n-1,k-1)+S(n-1,k)*(n-1)

第二類(lèi)Stirting數(shù)

第二類(lèi)Stirting數(shù)是求解將n個(gè)元素劃分為k個(gè)不為空的子集的方法數(shù),容易想到S(n,n) = S(n,1) = 1 (因?yàn)閷個(gè)元素化為一個(gè)集合只能是所有元素都在一塊方法是1種认罩,將n個(gè)元素劃分為n個(gè)集合只能是每個(gè)元素各自一個(gè)集合箱蝠,所以方法數(shù)也是1) 其遞推公式為S(n,k) = S(n-1,k-1) + S(n-1,k) * k

證明

證明過(guò)程與第一類(lèi)Stirting類(lèi)似,分為兩種情況

? :如果a[n]自己一個(gè)集合的話(huà)垦垂,剩下n-1個(gè)元素的方法數(shù)是S(n-1宦搬,k-1)

? :如果a[n]跟在k個(gè)集合種的某一個(gè)的時(shí)候,我們先排剩下的n-1個(gè)元素劫拗,方法數(shù)是S[n-1][k]然后把a(bǔ)[n]加入進(jìn)來(lái)有k種方式间校,即k*S[n-1][k]

??綜上,根據(jù)加法原理页慷,S[n][k] = S[n-1][k-1] + S[n-1][k] *k
第二類(lèi)Stirting數(shù)代碼如下:

void GetStirting()
{
    for (int i = 1; i <= 20; i++)
        S[i][1] = 1;
    for (int i = 2; i <= 20; i++)
        for (int j = 2; j <= 20; j++)
            S[i][j] = S[i - 1][j - 1] + S[i - 1][j] * j;
}

Bell數(shù)

Bell數(shù)就是集合的劃分?jǐn)?shù)憔足,就是n個(gè)元素的集合的劃分方法數(shù),仔細(xì)想想這里與第二類(lèi)Stirting有什么異同酒繁,第二類(lèi)Stirting數(shù)也是關(guān)于集合的劃分滓彰,只不過(guò)Stirting是求解n個(gè)元素化為k個(gè)集合的方法數(shù),而B(niǎo)ell數(shù)沒(méi)有這個(gè)k州袒,那么我們就能聯(lián)想到揭绑,其實(shí)Bell數(shù)就是第二類(lèi)Stirting數(shù)的和,對(duì)于每個(gè)n(n=1,2,3...)對(duì)應(yīng)一個(gè)k(1<=k<=n),令Bell數(shù)為B[n],Stirting數(shù)為S[n][k]那么B[n]= S[n][1]+S[n][2]+...+S[n][n]郎哭。
那么這里你應(yīng)該可以知道他匪,Bell數(shù)可以通過(guò)求解出第二類(lèi)Stirting數(shù)來(lái),然后對(duì)Stirting數(shù)求和就能解出夸研。其實(shí)Bell數(shù)還有其它兩種種求解方法

?? 遞推式:B[n+1] = C[n][0]B[0] + C[n][1]B[1] +...+C[n][n]*B[n](不常用)

?? 構(gòu)建Bell三角形
Bell三角形的構(gòu)建與楊輝三角類(lèi)似邦蜜,有如下構(gòu)建方法:
a[1][1] =1

對(duì)于n > 1,第n行第一項(xiàng)等于第n-1行最后一項(xiàng)陈惰,即a[n] = a[n-1][n-1]
對(duì)于m,n>1畦徘,第n行第m項(xiàng)等于它左邊和左上方的兩個(gè)數(shù)之和毕籽,即a[n][m] = a[n][m-1]+a[n-1][m-1] 三角形構(gòu)建完成之后,每行首項(xiàng)即Bell[i][1]就是Bell數(shù)

int Bell[100][100];
void GetBell()
{
    Bell[1][1] = 1;
    for (int i = 2; i < 50; i++)
    {
        Bell[i][1] = Bell[i - 1][i - 1];
        for (int j = 2; j <= i; j++)
            Bell[i][j] = Bell[i][j - 1] + Bell[i - 1][j - 1];
    }
}

讀到這里你應(yīng)該就能明白這三種組合數(shù)的各自的含義了吧...

碼到這里又累了井辆,估計(jì)你看到這里也累了关筒,打個(gè)廣告???

有沒(méi)有對(duì)機(jī)器學(xué)習(xí)杯缺,物聯(lián)網(wǎng)蒸播,大數(shù)據(jù),云計(jì)算感興趣的童鞋萍肆,我有個(gè)交流群袍榆,想把它建設(shè)起來(lái),大家來(lái)助力哇塘揣,有想法的私聊我包雀,咱們大二大三的時(shí)候一塊做項(xiàng)目??

??來(lái)幾道題吧:

題目一

小 J 有 N 塊大小不同的積木,他要在海灘上搭建城市亲铡,一座城市由一組建筑物組成才写,在海灘上的一塊積木就可以被視為一棟建筑,小J也可以將一塊積木放在另一塊積木之上奖蔓,這樣他就能搭建更高的建筑赞草。他只能把小積木放在比大積木之上。一塊積木用一個(gè)自然數(shù)表示其大小吆鹤。
本題要求使用N塊積木可以構(gòu)建的不同的城市的數(shù)目厨疙。比如N=2時(shí)只有可能搭建兩種不同的城市:
City1 兩個(gè)木塊1和2各自成為一個(gè)建筑,這座城市就有兩棟建筑疑务。
City2 兩個(gè)木塊種小的放在大的之上沾凄,1放在2的上面,即這座城市有一棟建筑
所以N=2時(shí)暑始,我們可以構(gòu)造出兩個(gè)不同的城市
??下面由你來(lái)解答搭独,對(duì)于輸入的N,輸出它的結(jié)果廊镜。

這就是以上講的三類(lèi)數(shù)的應(yīng)用牙肝,先不碼題解了,有想法或者有迷惑的私聊我嗤朴。

題目二

等會(huì)再更....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末配椭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雹姊,更是在濱河造成了極大的恐慌股缸,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吱雏,死亡現(xiàn)場(chǎng)離奇詭異敦姻,居然都是意外死亡瘾境,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)镰惦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迷守,“玉大人,你說(shuō)我怎么就攤上這事旺入《以洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵茵瘾,是天一觀的道長(zhǎng)礼华。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拗秘,這世上最難降的妖魔是什么圣絮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮雕旨,結(jié)果婚禮上晨雳,老公的妹妹穿的比我還像新娘。我一直安慰自己奸腺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布血久。 她就那樣靜靜地躺著突照,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氧吐。 梳的紋絲不亂的頭發(fā)上讹蘑,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音筑舅,去河邊找鬼座慰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛翠拣,可吹牛的內(nèi)容都是我干的版仔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼误墓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蛮粮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起谜慌,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤然想,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后欣范,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體变泄,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡令哟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妨蛹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屏富。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖滑燃,靈堂內(nèi)的尸體忽然破棺而出役听,到底是詐尸還是另有隱情,我是刑警寧澤表窘,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布典予,位于F島的核電站,受9級(jí)特大地震影響乐严,放射性物質(zhì)發(fā)生泄漏瘤袖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一昂验、第九天 我趴在偏房一處隱蔽的房頂上張望捂敌。 院中可真熱鬧,春花似錦既琴、人聲如沸占婉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)逆济。三九已至,卻和暖如春磺箕,著一層夾襖步出監(jiān)牢的瞬間奖慌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工松靡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留简僧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓雕欺,卻偏偏與公主長(zhǎng)得像岛马,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阅茶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 這個(gè)不錯(cuò)分享給大家蛛枚,從扣上看到的,就轉(zhuǎn)過(guò)來(lái)了 《電腦專(zhuān)業(yè)英語(yǔ)》 file [fail] n. 文件脸哀;v. 保存文...
    麥子先生R閱讀 6,549評(píng)論 5 24
  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類(lèi)型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來(lái)閱讀 3,325評(píng)論 0 2
  • 【針對(duì)欲速成急訓(xùn)人群】: 功夫是時(shí)間的累計(jì)蹦浦,基本功如同樹(shù)木的根基,需要穩(wěn)扎穩(wěn)打撞蜂。但對(duì)以下急需學(xué)習(xí)功夫的人群盲镶,光遠(yuǎn)...
    安寶祥閱讀 211評(píng)論 0 0
  • 生命向前侥袜,每天都有忙不完的工作,操不完的心溉贿,系統(tǒng)大小枫吧,身份定位的不同,需要我們不斷覺(jué)察宇色,才會(huì)有當(dāng)下的和諧和準(zhǔn)確溝通...
    徐爾我的寶閱讀 196評(píng)論 0 1
  • 【七言絕句】《夜坐》 當(dāng)代/蜀山倦客 夜坐朱樓醉指彈九杂,西風(fēng)凄緊月光寒。 憑高誰(shuí)會(huì)登臨意宣蠕,洛水茫茫衣帶寬例隆。 20...
    寺咀山主人閱讀 376評(píng)論 2 16