出棧序列之catalan數

曾經以爲只要有興趣支撐自己就不會放棄算法的學習,不會停止編程,現在才發現,沒有目標的鞭策,興趣也顯得那麼蒼白無力。直到最近要準備考研專業課的複習,才又開始重新接觸,才發現即使是之前學過的,也要重新拾起。廢話到此爲止,來說一下n個元素出棧序列數的推導。

問題:編號爲 1 到 n 的 n 個元素,順序的進入一個棧,則可能的出棧序列有多少種?

其實只要知道catalan數的定義:

就可以很快想到結果就是第n個catalan

因爲n 個元素進棧和出棧,總共要經歷 n 次進棧和 n 次出棧。這就相當於對這 2n 步操作進行排列。而的進棧次數一定要大於等於出棧的次數,所以只要把進棧看做是+1出棧看做是-1,就是上面的定理了。下面貼出組合數學(Richard.A.Bruadli)關於這個定理的證明:

 

發佈了22 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章