出棧規律總結

2021-06-24 11:54:42 字數 417 閱讀 5855

先說兩條數學結論:

設入棧序列為i(n):1,2,...,n

1,i(n)有c(2n,n)-c(2n,n-1)個出棧序列。

2,l(n)是i(n)的乙個出棧序列當且僅當:對於l(n)的任意一位數m,其後面比它小的數降序排列。

注:[1],結論1是數《資料結構》課本上的原話,所以不會有錯,另外根據卡塔蘭數的幾何意義,也容易證明。

[2],結論2是我自己觀察的,自認為應該是對的。舉個例子如下:

判斷序列l(6):4,3,5,2,1,6是否為i(6)的出棧序列。

解:4後面比4小的數3,2,1是降序列;3後面比3小的數2,1是降序排列;5後面比5小的數2,1是降序排列;2後面比2小的數φ是降序排列;1後面比1小的數φ降序排列;6後面比6小的數φ是降序排列。所以l(6)是i(6)的乙個出棧序列。

本文**:

棧(出棧序列)

已知自然數1,2,n 1 n 10000 依次入棧 即a1 c2,cn 是否為可能的出棧序列。例如 n 5時,3,4,2,1,5是乙個可能的出棧序列,因為其可以按如下操作獲得 push 1,push 2,push 3,pop,push 4,pop,pop,pop,push 5,pop input 輸...

棧 出棧序列判定

給乙個初始的入棧序列,其次序即為元素的入棧次序,棧頂元素可以隨時出棧,每個元素只能入棧依次。輸入乙個入棧序列,後面依次輸入多個序列,請判斷這些序列是否為所給入棧序列合法的出棧序列。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個出棧序列,但4,3,5,1,2就...

進棧出棧規則

先弄個例子 已知元素的入棧順序為abcde,則下列哪種出棧順序是不可能的 出棧和入棧操作可交叉進行 a edcba b cabde c dcbae d bcdea 先進後出,後進先出 在原序列中相對位置比它小的,必須是逆序 在原序列中相對位置比它大的,順序沒有要求 以上兩點可以間插進行。a選項正確 ...