1樓:匿名使用者
這是典型的遞推題虛老目,要陵扒用到 卡特蘭數pascal程式如下:const
maxn =35;
varf :array[0..maxn] of int64;
i,j,n :longint;
beginreadln(n);
f[0]:=1;
f[1]:=1;
for i:=2 to n do
beginf[i]:=f[i-1];
for j:=2 to i do
f[i]:=f[i]+f[j-1]*f[i-j];
end;writeln(f[n]);
end. 由於沒寫高精度,尺譽昌所以n最大為35.
2樓:匿名使用者
如果是指計算機的堆疊的話,是先進後出,後進先出原則。
棧的入棧和出棧的順序規律是什麼?
3樓:文學小百靈
入棧的順序規律是排在前面的先進,排在後面的後進。
棧中的資料只有一種方式出棧,即先進後出,所以出棧的可能數目跟入棧的可能排列數目是一致的。a的出入有2中可能,b的出入有2種可能,c的出入有2種可能,d只需要關係入,只有一種可能。所以可能的出棧方式數為2*2*2*1=8種。
入棧順序:a、b、c、d。出棧順序可以是:
d、c、b、a;a、b、c、d;b、a、c、d很多,但要把棧想像成乙個沒蓋子的紙箱,取出東西時只能從最上層取咐友,放進東西也只能放在最上層,所以棧是乙個「後進先出」或「先進後出」的順序儲存結改簡喊構。
棧又名堆疊。
它是一種運算受限的線性表。
限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。
向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧核野刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
進棧順序1234,出棧有多少種
4樓:世紀網路
進棧順序1234,出棧有24種。
棧又名堆疊。
它是一種運算受限的線性表。
限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元辯念素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧作為一種數胡灶搏據結構褲祥。
是一種只能在一端進行插入和刪除操作的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後乙個資料被第乙個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指標。
棧有多少種進棧方式?
5樓:靈巧且舒坦的小兔子
4個元素的全排列共有24種,棧要求符合後進先出,按此衡前巨集稿量排除後即得:
14種可能,10種不可能。
有哪幾種進棧的方式
6樓:帳號已登出
序列個數太多,以123為例:123進棧,出棧321;1進棧,1出清蠢悔棧,2進棧,2出棧,3進棧,3出棧,所以是123,以此類推。
4個元素的全排列共有24種,棧要求符合後進先出,按此衡量排除後即得:
14種可能,10種不可能,如上所示。
入棧出棧題目怎麼做?
7樓:帳號已登出
棧的原則是先進後出,進棧序列為el,e2,e3,e4,芹信不是說一次性進入的,而是先進了el,e2,這時候出棧的話一定出e2,e3,e4又進棧,這時候出棧順序就是e4,e3,el 了,總的出棧順序就是e2,e4,e3,渣州el 了。
棧的特點是先進後出,即:進去的早,出來的晚。
54321進棧,5在棧底,1在棧頂!
出一次棧,則棧頂的1先出來,2成為新的棧頂。
abcd入棧,d成為新的棧頂。
全部出棧:d c b a 2 3 4 5
綜上,所有元素退棧順序為:1 d c b a 2 3 4 5<>
進棧(push)演算法若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);
置top=top+1(棧指標加1,指向進棧位址);
s(top)=x,結束(x為新進棧的元素);
退棧(pop)演算法。
若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作嫌梁輪②);
x=s(top),(退棧後的元素賦給x):
top=top-1,結束(棧指標減1,指向棧頂)。
以上內容參考:百科-棧。
入棧和出棧的順序規律是什麼?
8樓:霂棪愛教育
入棧的順序規律是排在前面的先進,排在後面的後進。
若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);
置top=top+1(棧指標加1,指向進棧位址);
s(top)=x,結束(x為新進棧的元素);
出棧的順序規律是排在前面的先出,排在後面的後出。
若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②);
x=s(top),(退棧後的元素賦給x):
top=top-1,結束(棧指標減1,指向棧頂)。
n個元素進棧,有幾種出棧方式
9樓:硪丨曖戀
我們把n個元素的出棧個數的記為f(n), 那麼對於1,2,3, 我們很容易得出:
f(1) = 1 //即 1
f(2) = 2 //即
f(3) = 5 //即
然後我們來考慮f(4), 我們給4個元素編號為a,b,c,d, 那麼考慮:元素a只可能出現在1號位置,2號位置,3號位置和4號位置(很容易理解,一共就4個位置,比如abcd,元素a就在1號位置)。
分析:1) 如果元素a在1號位置,那麼只可能a進棧,馬上出棧,此時還剩元素b、c、d等待操作,就是子問題f(3);
2) 如果元素a在2號位置,那麼一定有乙個元素比a先出棧,即有f(1)種可能順序(只能是b),還剩c、d,即f(2), 根據乘法原理,一共的順序個數為f(1) *f(2);
3) 如果元素a在3號位置,那麼一定有兩個元素比1先出棧,即有f(2)種可能順序(只能是b、c),還剩d,即f(1),根據乘法原理,一共的順序個數為f(2) *f(1);
4) 如果元素a在4號位置,那麼一定是a先進棧,最後出棧,那麼元素b、c、d的出棧順序即是此小問題的解,即 f(3);
結合所有情況,即f(4) = f(3) +f(2) *f(1) +f(1) *f(2) +f(3);
為了規整化,我們定義f(0) = 1;於是f(4)可以重新寫為:
f(4) = f(0)*f(3) +f(1)*f(2) +f(2) *f(1) +f(3)*f(0)
然後我們推廣到n,推廣思路和n=4時完全一樣,於是我們可以得到:
f(n) = f(0)*f(n-1) +f(1)*f(n-2) +f(n-1)*f(0)即。
若讓元素1,2,3,4,5,6依次進棧,則出棧次序不可能出現種情況A
c根據棧的後進先出的性質,棧頂元素可能是12345也就是出棧序列的第一個元素可能為12345對於54312,可以類推 若想3先出棧,必須1和2已經進棧,然後3進棧,3再出棧 序列 3 而 此時棧的棧頂元素 為2,所以第二個出棧的元素不可能是1,而只能是2,所以此時的出棧序列必為 321。a解析 根據...
棧的進棧序列是abcde則棧的不可能的
a a,b,c,d,e進,之後依次出棧 b a,b,c,d,進,d出,e進,e,c,b,a出d a進a出,b進b出 e進e出 c 的話dce都好辦,之後的ab做不到 這道題就是沒告訴你進棧的同時可以隨時出棧 d,c,e,a,b 解析 情況1是abcde先入棧,然後依次出棧,正好是edcba情況2是a...
有元素以6,5,4,3,2,1的順序進棧,問哪個不是合法
選5.是以從大到小的隨機順序入棧,雖然順序不可控,但是從大到小所以5肯定在6後面入棧,遵循後進先出原則,所以5不可能在6之後出棧,所以一眼看出c是不合法的。沒有規定要一次性進完所有的元素 對於a 先進入6 5,再出5,再進4,再出4,再進3 再出3,再出6 再進入2,1,再出1,2 c 先進入6 5...