日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

知识点 组合数学 卡特兰数

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识点 组合数学 卡特兰数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?關于卡特蘭數

卡特蘭數是一種經典的組合數,經常出現在各種計算中,其前幾項為 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...

?

計算公式

卡特蘭數一般的計算公式:?
另類遞推公式:C(n)=C(n-1)*((4*n-2)/(n+1));

一般性質

Cn的另一個表達形式為?
所以,Cn是一個自然數,這一點在先前的通項公式中并不顯而易見。?
這個表達形式也是André對前一公式證明的基礎。

卡塔蘭數滿足以下遞推關系?
?
它也滿足?
?
這提供了一個更快速的方法來計算卡塔蘭數。

卡塔蘭數的漸近增長為?
?
它的含義是左式除以右式的商趨向于1當n → ∞。(這可以用n!的斯特靈公式來證明。)

所有的奇卡塔蘭數Cn都滿足n = 2^k ? 1。?
所有其他的卡塔蘭數都是偶數。

實際問題的解決

說了這么多,那么卡特蘭數在實際問題中的應用還是很廣泛的:

經典問題:

  • 給出一個n,要求一個長度為2n的01序列,使得序列的任意前綴中1的個數不少于0的個數,?
    以下為長度為6的序列:?
    111000 101100 101010 110010 110100?
    證明:?
    令1表示進棧,0表示出棧,則可轉化為求一個2n位,含n個1,n個0的二進制數,?
    滿足從左往右掃描到任意一位時,經過的0數不多于1數?
    顯然含n個1,n個0的2n位二進制數共有個,下面考慮不滿足要求的數目.?
    考慮一個含n個1,n個0的2n位二進制數,掃描到第2m+1位上時有m+1個0和m個1(容易證明一定存在這樣的情況),?
    則后面的01排列中必有n-m個1n-m-1個0?
    將2m+2及其以后的部分0變成1,1變成0,則對應一個n+1個0和n-1個1的二進制數?
    反之亦然(相似的思路證明兩者一一對應)?
    從而

  • 將上例的X換成左括號,Y換成右括號,Cn表示所有包含n組括號的合法運算式的個數:?
    ((())) ()(()) ()()() (())() (()())

  • Cn表示有n+1個葉子的二叉樹的個數?

  • Cn表示所有不同構的含n個分枝結點的滿二叉樹的個數(一個有根二叉樹是滿的當且僅當每個結點都有兩個子樹或沒有子樹)

  • Cn表示所有在n × n格點中不越過對角線的單調路徑的個數?
    一個單調路徑從格點左下角出發,在格點右上角結束,每一步均為向上或向右?
    計算這種路徑的個數等價于計算Dyck word的個數(同問題1):?
    X代表“向右”,Y代表“向上”?

  • Cn表示通過連結頂點而將n + 2邊的凸多邊形分成三角形的方法個數?
    下圖中為n = 4的情況:?

  • Cn表示對{1, …, n}依序進出棧的置換個數?
    一個置換w是依序進出棧的當S(w) = (1, …, n),?
    其中S(w)遞歸定義如下:令w = unv,其中n為w的最大元素,u和v為更短的數列?
    再令S(w) =S(u)S(v)n,其中S為所有含一個元素的數列的單位元。

  • Cn表示集合{1, …, n}的不交叉劃分的個數. 其中每個段落的長度為2

  • Cn表示用n個長方形填充一個高度為n的階梯狀圖形的方法個數?
    下圖為 n = 4的情況:?

總結最典型的四類應用:

(實質上卻都一樣,無非是遞歸等式的應用,就看你能不能分解問題寫出遞歸式了)

  • 括號化問題。

      矩陣鏈乘: P=a1×a2×a3×……×an,依據乘法結合律,不改變其順序,只用括號表示成對的乘積,試問有幾種括號化的方案?(h(n)種)

  • 出棧次序問題。?
      一個棧(無窮大)的進棧序列為1,2,3,..n,有多少個不同的出棧序列??
      ?
      類似:?
      (1)有2n個人排成一行進入劇場。入場費5元。其中只有n個人有一張5元鈔票,另外n人只有10元鈔票,劇院無其它鈔票,問有多少中方法使得只要有10元的人買票,售票處就有5元的鈔票找零?(將持5元者到達視作將5元入棧,持10元者到達視作使棧中某5元出棧)?
      ?
      (2)在圓上選擇2n個點,將這些點成對連接起來,使得所得到的n條線段不相交的方法數。?
      

  • 將多邊行劃分為三角形問題。?
      將一個凸多邊形區域分成三角形區域的方法數??
      ?
      類似:一位大城市的律師在她住所以北n個街區和以東n個街區處工作。每天她走2n個街區去上班。如果她從不穿越(但可以碰到)從家到辦公室的對角線,那么有多少條可能的道路??
      ?
      類似:在圓上選擇2n個點,將這些點成對連接起來使得所得到的n條線段不相交的方法數??
      ?
    4.給頂節點組成二叉樹的問題。?
      給定N個節點,能構成多少種形狀不同的二叉樹??
      先去一個點作為頂點,然后左邊依次可以取0至N-1個相對應的,右邊是N-1到0個,兩兩配對相乘,就是h(0)*h(n-1) + h(2)*h(n-2) +…+ h(n-1)h(0)=h(n)(能構成h(N)個)

  • 轉自:https://blog.csdn.net/wu_tongtong/article/details/78161211

    總結

    以上是生活随笔為你收集整理的知识点 组合数学 卡特兰数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。