卡塔蘭數介紹與應用

2021-10-22 22:05:18 字數 795 閱讀 9424

5. 總結

最近在leetcode上鍛鍊演算法題的時候,偶然看到一篇介紹卡塔蘭數的文章,在這之前其實已經簡單的了解過卡塔蘭數以及與之相關問題,溫故而知新,藉此機會重新整理和總結一下,同時自己也手動寫出了遞推公式的推理過程,畢竟很多人第一次看到卡塔蘭的遞推公式時,都會有疑問,這條公式是怎麼來的。

題目描述:給定n個數的入棧序列,請問有多少種出棧序列。
給定n對括號,求括號正確配對的字串數,例如:

0對括號:[空序列] 1種可能

1對括號:() 1種可能

2對括號:()() (()) 2種可能

......

給定n個節點,能構成多少種不同的二叉搜尋樹。
可參考leetcode原題:不同的二叉搜尋樹

一般我們無法直接從題目要求看出題目符合卡塔蘭數通項公式,我們需要進行一定的數學建模,並推導出題目的通項公式,如果符合卡塔蘭數的通項公式,則可以利用卡塔蘭數的遞推公式進行求解。

卡塔蘭數增長很快,使用遞推式時,需要注意資料溢位。

本次我只是簡單的介紹一下卡塔蘭數的基本情況,後續還會對相關問題繼續展開討論。

文章寫的有點粗糙,後續還會繼續優化。

應用卡塔蘭數解決出棧分析

今天被一道資料結構習題難住了,覺得挺有意思就寫博一篇記錄下來,被該題男主並非是不會用程式設計解決,而是考慮問題思維太狹窄導致的。題目如下 鐵路進行列車排程時,常把站台設計成棧式結構的站台。試問 設有編號為1,2,3,4,5,6的六輛列車,順序開入棧式結構的站台,則可能的出棧序列有多少種?本題題意是,...

Catalan數 卡塔蘭數 的證明

定義 從 0,0 到 n,n 不越過 可以接觸 直線y x 即每一步的落腳點都滿足y x 且每次只能往上或往右走。求方案數。結果 c 2n,n c 2n,n 1 程式設計是可以實現小資料的 n比較小時可以列舉,不過n可能會很大 證明方法 有很多種,自己上維基百科就能搜到 這裡給大家介紹一種不太常見的...

小兔的棋盤 hdu 2067 卡塔蘭數

description 小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 這樣的路徑數有多少?小...