第3章棧和隊(duì)列_第1頁(yè)
第3章棧和隊(duì)列_第2頁(yè)
第3章棧和隊(duì)列_第3頁(yè)
第3章棧和隊(duì)列_第4頁(yè)
第3章棧和隊(duì)列_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、棧和隊(duì)列2.在作進(jìn)棧運(yùn)算時(shí),應(yīng)先判別棧是否(), 個(gè),作進(jìn)棧運(yùn)算時(shí)發(fā)生上溢,則說明該棧的最大容量為為了增加內(nèi)存空間的利用率和減少溢出的可能性()分別設(shè)在這片內(nèi)存空間的兩端 ,這樣,當(dāng)(,:A.空B.滿C.上溢:A. n-1B. nC. n+1D. n/2:A.長(zhǎng)度B.深度C.棧頂:A.兩個(gè)棧的棧頂同時(shí)到達(dá)??臻g的中心點(diǎn)B.其中一個(gè)棧的棧頂?shù)竭_(dá)??臻g的中心點(diǎn)C. 兩個(gè)棧的棧頂在??臻g的某一位置相遇D. 兩個(gè)棧均不空,且一個(gè)棧的棧頂?shù)竭_(dá)另【上海海運(yùn)學(xué)院1997二、1( 5分)】【上海海運(yùn)學(xué)院3. 一個(gè)棧的輸入序列為123n,若輸出序列的第5PCzVD7H5PCzVD7H個(gè)棧的棧底1999個(gè)元素是n

2、,二、1 (5分)】輸出第i (1=i0) ? x* f(x-1):2);int i ;i =f(f(1);B. 4C. 8D.無限遞歸 HbmVN777HbmVN777表達(dá)式 a*(b+c)-d 的后綴表達(dá)式是 () 。【南京理工大學(xué) 2001 一、 2( 1.5 分)】 V7l4jRB8V7l4jRB8A abcd*+- B. abc+*d- C. abc*+d-D. -+*abcd83lcPA5983lcPA59表達(dá)式 3* 2A(4+2*2-6*3)-5 求值過程中當(dāng)掃描到 6 時(shí),對(duì)象棧和算符棧為(20. mZkklkzamZkklkza),其中A為乘幕A. 3,2,4,1,1; (

3、*A(+*-(*A(- AVktR43bAVktR43bB. 3,2,8 ; (*A-C. 3,2,4,2,2; (*A(-D. 3,2,8青島大學(xué) 2000 五、5(2分)】21. 設(shè)計(jì)一個(gè)判別表達(dá)式中左,右括號(hào)是否配對(duì)出現(xiàn)的算法,采用()數(shù)據(jù)結(jié)構(gòu)最佳。A.線性表的順序存儲(chǔ)結(jié)構(gòu)ORjBnOwcORjBnOwcB. 隊(duì) 列C. 線性表 的鏈?zhǔn)酱?儲(chǔ)結(jié)構(gòu)D. 棧【西安電子科技大學(xué) 1996 一、 6( 2 分)】22. 用鏈接方式存儲(chǔ)的隊(duì)列, 在進(jìn)行刪除運(yùn)算時(shí)()?!颈狈浇煌ù髮W(xué)2001 一、12(2分)】2MiJTy0d2MiJTy0dA. 僅修改頭指針 B. 僅修改尾指針 C. 頭、尾指針都

4、要修改 D. 頭、尾指針可能都要修改 gIiSpiuegIiSpiue23. 用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí) , 其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn) , 其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪 除操作時(shí) () 。【北京理工大學(xué) 2001 六、 3( 2 分)】 uEh0U1YfuEh0U1YfA.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C. 隊(duì)頭、隊(duì)尾指針都要修改 D. 隊(duì)頭, 隊(duì)尾指針都可能要修改24. 遞歸過程或函數(shù)調(diào)用時(shí),處理參數(shù)及返回地址,要用一種稱為()的數(shù)據(jù)結(jié)構(gòu)。A.隊(duì)列B.多維數(shù)組C.棧D.線性表IAg9qLsglAg9qLsg【福州大學(xué) 1998 一、 1(2分)】25. 假設(shè)以數(shù)組 Am存放循環(huán)隊(duì)列

5、的元素,其頭尾指針分別為front和rear,則當(dāng)前隊(duì)列中的元素個(gè)數(shù)為 ( )?!颈本┕ど檀髮W(xué) 2001 一、 2( 3 分)】 WwghWvVhWwghWvVhA . (rear-front+m)%mB . rear-front+1C . (front-rear+m)%mD. (rear-front)%m asfpsfpiasfpsfpiB. rear-front+1C. rear-front-1D.26. 循環(huán)隊(duì)列 A0.m-1 存放其元素值,用 front 和 rear 分別表示隊(duì)頭和隊(duì)尾,則當(dāng)前隊(duì)列中的元 素?cái)?shù)是 ( ) ?!灸暇├砉ご髮W(xué) 2001 一、 5( 1.5 分)】 ooey

6、YZTjooeyYZTjA. (rear-front+m)%m)。【中山大學(xué) 1999 一、 6( 1 分)】rear-front BkeGuInkBkeGuInk27. 循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A0.m 中,則入隊(duì)時(shí)的操作為(PgdO0sRlPgdO0sRlA. rear=rear+1B. rear=(rear+1) mod (m-1)3cdXwckm3cdXwckmC. rear=(rear+1) mod mD. rear=(rear+1)mod(m+1)h8c52WOnh8c52WOn28. 若用一個(gè)大小為 6的數(shù)組來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前 rear 和 front 的值分別為 0和 3,當(dāng)從隊(duì)

7、列中刪除 一個(gè)元素,再加入兩個(gè)元素后, rear 和 front 的值分別為多少? ( ) 【浙江大學(xué) 1999 四、 1(4 分)】 v4bdyGiov4bdyGioA. 1 和 5 B. 2 和 4 C. 4 和 2 D. 5 和 1 J0bm4qMpJ0bm4qMp29. 已知輸入序列為 abcd 經(jīng)過輸出受限的雙向隊(duì)列后能得到的輸出序列有()。A. dacb B. cadb C. dbca D. bdac E.以上答案都不對(duì) XVauA9grXVauA9gr【西安交通大學(xué) 1996 三、3 (3 分)】30. 若以 1234 作為雙端隊(duì)列的輸入序列,則既不能由輸入受限的雙端隊(duì)列得到,也

8、不能由輸出受限的雙端 隊(duì)列得到的輸出序列是 ( ) 。【西安電子科技大學(xué) 1996 一、 5(2 分)】 bR9C6TJsbR9C6TJsA. 1234 B. 4132 C. 4231 D. 4213 pN9LBDdtpN9LBDdt31. 最大容量為n的循環(huán)隊(duì)列,隊(duì)尾指針是rear,隊(duì)頭是front,則隊(duì)空的條件是 ()。DJ8T7nHuDJ8T7nHuA. (rear+1) MOD n=frontB. rear=frontQF81D7bvQF81D7bv32.C rear+1=front南京理工大學(xué) 1999棧和隊(duì)列的共同點(diǎn)是(A. 都是先進(jìn)先出D. (rear-l) MOD n=fron

9、t4B7a9QFw4B7a9QFw、16(2 分)】)?!狙嗌酱髮W(xué) 2001 一、1(2 分)】B.都是先進(jìn)后出C. 只允許在端點(diǎn)處插入和刪除元素D. 沒有共同點(diǎn)33. 棧的特點(diǎn)是( ) , 隊(duì)列的特點(diǎn)是( ) , 棧和隊(duì)列都是( )。若進(jìn)棧序列為 1,2,3,4 則( )不可能是一個(gè)出棧序列(不一定全部進(jìn)棧后再出棧) ;若進(jìn)隊(duì)列的序列為 1,2,3,4 則( )是一個(gè)出隊(duì)列序列?!颈狈浇煌ù髮W(xué) 1999 一、1 ( 5分)】ix6iFA8xix6iFA8x, : A.先進(jìn)先出 B. 后進(jìn)先出 C. 進(jìn)優(yōu)于出 D. 出優(yōu)于進(jìn) wt6qbkCywt6qbkCy : A. 順序存儲(chǔ)的線性結(jié)構(gòu) B.

10、 鏈?zhǔn)酱鎯?chǔ)的線性結(jié)構(gòu)C限制存取點(diǎn)的線性結(jié)構(gòu)D.限制存取點(diǎn)的非線性結(jié)構(gòu) , : A. 3,2,1,4 B. 3,2,4,1 C. 4,2,3,1 D. 4,3,2,1 F. 1,2,3,4 G. 1,3,2,4 Kp5zH46zKp5zH46z34. 棧和隊(duì)都是( )【南京理工大學(xué) 1997 一、 3(2 分)】A.順序存儲(chǔ)的線性結(jié)構(gòu)B.鏈?zhǔn)酱鎯?chǔ)的非線性結(jié)構(gòu)C. 限制存取點(diǎn)的線性結(jié)構(gòu) D. 限制存取點(diǎn)的非線性結(jié)構(gòu)35. 設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2, e3, e4,e5和e6依次通過棧S, 個(gè)元素出棧后即進(jìn)隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1則棧S的容

11、量至少應(yīng)該是()。Yi4HdOAAYi4HdOAAA 6B. 4 C. 3 D. 2【南京理工大學(xué) 2000 一、 6(1.5 分)】)位置?!厩迦A大學(xué) 1998 一、 1(2 分)】36. 用單鏈表表示的鏈?zhǔn)疥?duì)列的隊(duì)頭在鏈表的(37. 依次讀入數(shù)據(jù)元素序列a, b, c, d, e, f, g進(jìn)棧,每進(jìn)一個(gè)兀素,機(jī)器可要求下一個(gè)兀素進(jìn)棧或彈5 / 22A.鏈頭B.鏈尾C鏈中2000 七( 8 分)】棧,如此進(jìn)行,則棧空時(shí)彈出的元素構(gòu)成的序列是以下哪些序列?【哈爾濱工業(yè)大學(xué) ch4PJx4Bch4PJx4BAd ,e,c,f,b,g,a B. f,e, g,d,a,c,b,d,b,e,f ,a

12、,gC. e ,f,d,g,b,c,aD. c二 判斷題1. 消除遞歸不一定需要使用棧,此說法( )【中科院計(jì)算所 1998 二、2(2 分)】【中國(guó)科技大學(xué) 1998 二、 2( 2分)】2. 棧是實(shí)現(xiàn)過程和函數(shù)等子程序所必需的結(jié)構(gòu)。 ( )【合肥工業(yè)大學(xué) 2000 二、2(1 分)】3. 兩個(gè)棧共用靜態(tài)存儲(chǔ)空間,對(duì)頭使用也存在空間溢 出問題。( )【青島大學(xué) 2000 四、2(1 分)】 qd3YfhxCqd3YfhxC4兩個(gè)棧共享一片連續(xù)內(nèi)存空間時(shí),為提高內(nèi)存利用率,減少溢出機(jī)會(huì),應(yīng)把兩個(gè)棧的棧底分別設(shè)在這片 內(nèi)存空間的兩端。 ( )【上海海運(yùn)學(xué)院 1998 一、 4(1 分)】 E83

13、6L11DE836L11D5. 即使對(duì)不含相同元素的同一輸入序列進(jìn)行兩組不同的合法的入棧和出棧組合操作,所得的輸出序列也一 定相同。( )【北京郵電大學(xué) 1999 二、 4(2 分)】 S42ehLvES42ehLvE6. 有 n 個(gè)數(shù)順序(依次)進(jìn)棧,出棧序列有 Cn種,Cn=1/( n+1)* (2n)!/(n!)*(n!)。()50inNvZF50inNvZF【北京郵電大學(xué) 1998 一、 3( 2 分)】7. 棧與隊(duì)列是一種特殊操作的線性表。 ( )【青島大學(xué) 2001 四、 3( 1 分)】8. 若輸入序列為 1,2,3,4,5,6, 則通過一個(gè)??梢暂敵鲂蛄?3,2,5,6,4,1

14、.()jW1viftGjW1viftG【上海海運(yùn)學(xué)院 1995 一、2(1 分) 1997 一、3( 1 分)】9. 棧和隊(duì)列都是限制存取點(diǎn)的線性結(jié)構(gòu)。 ( )【中科院軟件所 1999 六、(5)(2分)】10若輸入序列為 1 ,2,3,4,5,6,則通過一個(gè)??梢暂敵鲂蛄?,5,4,6,2,3 。()xS0DOYWHxS0DOYWH【上海海運(yùn)學(xué)院 1999 一、 3( 1 分)】11. 任何一個(gè)遞歸過程都可以轉(zhuǎn)換成非遞歸過程。 ( )【上海交通大學(xué) 1998 一、 3( 1 分)】12. 只有那種使用了局部變量的遞歸過程在轉(zhuǎn)換成非遞歸過程時(shí)才必須使用棧。()【上海交通大學(xué) 1998 一、 4

15、( 1 分)】13. 隊(duì)列是一種插入與刪除操作分別在表的兩端進(jìn)行的線性表,是一種先進(jìn)后出型結(jié)構(gòu)。()【上海海運(yùn)學(xué)院 1998 一、 3( 1 分)】14. 通常使用隊(duì)列來處理函數(shù)或過程的調(diào)用。(【南京航空航天大學(xué)1997 、5( 1分)】LOZMklqlLOZMklql15. 隊(duì)列邏輯上是一個(gè)下端和上端既能增加又能減少的線性表。()【上海交通大學(xué)1998 、2】ZKZUQsUJZKZUQsUJ16. 循環(huán)隊(duì)列通常用指針來實(shí)現(xiàn)隊(duì)列的頭尾相接。(dGY2mcoKdGY2mcoK)【南京航空航天大學(xué)1996六、1 ( 1分)】17. 循環(huán)隊(duì)列也存在空間溢出問題。()【青島大學(xué)2002 一、2 ( 1

16、分)】18. 隊(duì)列和棧都是運(yùn)算受限的線性表,只允許在表的兩端進(jìn)行運(yùn)算。rCYbSWRLrCYbSWRL()【長(zhǎng)沙鐵道學(xué)院1997 一、5(1分)】19. 棧和隊(duì)列都是線性表,只是在插入和刪除時(shí)受到了一些限制。(FyXjoFIMFyXjoFIM【北京郵電大學(xué) 2002 一、3(1分)】20. 棧和隊(duì)列的存儲(chǔ)方式,既可以是順序方式,又可以是鏈?zhǔn)椒绞??!旧虾:_\(yùn)學(xué)院1996 一、2( 1分)1999 一、2( 1 分)】三填空題1 棧是的線性表,其運(yùn)算遵循 的原則。【北京科技大學(xué)1997 一、3】2 是限定僅在表尾進(jìn)行插入或刪除操作的線性表。【燕山大學(xué)1998 一、3 (1分)】3. 一個(gè)棧的輸入序

17、列是:1, 2, 3則不可能的棧輸出序列是 ?!局袊?guó)人民大學(xué) 2001 一、1(2分)】TuWrUpPOTuWrUpPO4. 設(shè)有一個(gè)空棧,棧頂指針為1000H(十六進(jìn)制),現(xiàn)有輸入序列為1 , 2 , 3 , 4 , 5 ,經(jīng)過PUSH,PUSH,POP,PUSH,POP,PUSH,PU之后,輸出序列是 ,而棧頂指針值是 H。設(shè)棧為順序棧,每個(gè)元素占4個(gè)字節(jié)?!疚靼搽娮涌萍即髮W(xué)1998二、1 (4分)】7qWAq9jP7qWAq9jP5. 當(dāng)兩個(gè)棧共享一存儲(chǔ)區(qū)時(shí),棧利用一維數(shù)組stack(1,n)表示,兩棧頂指針為 top1與top2,則當(dāng)棧1 空時(shí),top1為,棧 2 空時(shí),top2為,棧

18、滿時(shí)為 。IIVIWTNQIIVIWTNQ【南京理工大學(xué)1997三、1 (3分)】6. 兩個(gè)棧共享空間時(shí)棧滿的條件 ?!局猩酱髮W(xué)1998 一、3 (1分)】7 在作進(jìn)棧運(yùn)算時(shí)應(yīng)先判別棧是否(1);在作退棧運(yùn)算時(shí)應(yīng)先判別棧是否;當(dāng)棧中元素為 n個(gè),作進(jìn)棧運(yùn)算時(shí)發(fā)生上溢,則說明該棧的最大容量為。yhUQsDgRyhUQsDgR為了增加內(nèi)存空間的利用率和減少溢出的可能性,由兩個(gè)棧共享一片連續(xù)的空間時(shí),應(yīng)將兩棧的分別設(shè)在內(nèi)存空間的兩端,這樣只有當(dāng)(5)時(shí)才產(chǎn)生溢出?!旧綎|工業(yè)大學(xué)1994 一、1 ( 5分)】MdUZYnKSMdUZYnKS8.多個(gè)棧共存時(shí),最好用 作為存儲(chǔ)結(jié)構(gòu)?!灸暇├砉ご髮W(xué)2001

19、二、7 ( 2分)】9 .用S表示入棧操作,X表示出棧操作,若元素入棧的順序?yàn)?234,為了得到1342出棧順序,相應(yīng)的 S和X的操作串為 。【西南交通大學(xué) 2000 一、5】09T7t6eT09T7t6eT10. 順序棧用data1.n 存儲(chǔ)數(shù)據(jù),棧頂指針是top,則值為X的元素入棧的操作是 。e5TfZQIUe5TfZQIU【合肥工業(yè)大學(xué) 2001 三、2 (2 分)】11表達(dá)式 23+(12*3-2)/4+34*5/7)+108/9 的后綴表達(dá)式是 【中山大學(xué) 1998 一、 4(1 分)】s1SovAcVs1SovAcV12. 循環(huán)隊(duì)列的引入,目的是為了克服 【廈門大學(xué) 2001 一、

20、 1 (14/8 分)】13. 用下標(biāo)0開始的N元數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列時(shí),為實(shí)現(xiàn)下標(biāo)變量M加1后在數(shù)組有效下標(biāo)范圍內(nèi)循環(huán),可采用的表達(dá)式是:M = (填PASCAL語言,C語言的考生不填);M= (填C語言,PASCAL語言的考生不填) ?!疚髂辖煌ù髮W(xué) 2000 一、 7】 GXRw1kFWGXRw1kFW14. 又稱作先進(jìn)先出表。 【重慶大學(xué) 2000 一、 7】15. 隊(duì)列的特點(diǎn)是 ?!颈本├砉ご髮W(xué) 2000 二、2(2分)】16. 隊(duì)列是限制插入只能在表的一端,而刪除在表的另一端進(jìn)行的線性表,其特點(diǎn)是 。【北方交通大學(xué) 2001 二、 5】17. 已知鏈隊(duì)列的頭尾指針分別是f和r,則將值x

21、入隊(duì)的操作序列是 ?!竞戏使I(yè)大學(xué) 2000 三、3(2分)】18. 區(qū)分循環(huán)隊(duì)列的滿與空,只有兩種方法,它們是 和 ?!颈本┼]電大學(xué) 2001 二、 2(4分)】UTREx49XUTREx49X19. 設(shè)循環(huán)隊(duì)列用數(shù)組 A1.M表示,隊(duì)首、隊(duì)尾指針分別是 FRONT和TAIL,判定隊(duì)滿的條件為 。 8PQN3NDY8PQN3NDY【山東工業(yè)大學(xué) 1995 一、 1 ( 1 分)】20. 設(shè)循環(huán)隊(duì)列存放在向量 sq.data0:M 中,則隊(duì)頭指針 sq.front 在循環(huán)意義下的出隊(duì)操作可表示為,若用犧牲一個(gè)單元的辦法來區(qū)分隊(duì)滿和隊(duì)空(設(shè)隊(duì)尾指針sq.rear ) , 則隊(duì)滿的條件為 mLPV

22、zx7ZmLPVzx7Z【長(zhǎng)沙鐵道學(xué)院 1997 二、 4 (4 分) 】21. 表達(dá)式求值是 應(yīng)用的一個(gè)典型例子。 【重慶大學(xué) 2000 一、 10】22. 循環(huán)隊(duì)列用數(shù)組 A0.m-1存放其元素值,已知其頭尾指針分別是front和rear ,則當(dāng)前隊(duì)列的元素個(gè)數(shù)是 【廈門大學(xué) 2000 六、 1 ( 16%/3 分)】 AHP35hB0AHP35hB023 設(shè)Q0.N-1為循環(huán)隊(duì)列,其頭、尾指針分別為P和R,則隊(duì)Q中當(dāng)前所含元素個(gè)數(shù)為 。NDOcB141NDOcB141【北京科技大學(xué) 1997 一、 4】24. 完善下面算法。 【中山大學(xué) 1998 四、 2(6分)】后綴表達(dá)式求值,表達(dá)式

23、 13/25+61 的后綴表達(dá)式格式為: 13, 25/61, +FUNC compute(a):real;后綴表達(dá)式存儲(chǔ)在數(shù)組 a1.m中。BEGINsetnull(s); i:=1 ; ch:= (1) ;WHILE ch DOBEGINCASE ch OFO .9 : x:=0;WHILE ch , DOBEGINx:=x*10+ord(ch)-ord( 0);i:=i+1; ch:= (2) ;END+ : x:=pop(s)+pop(s);-:x:=pop(s);x:=pop(s)-x;* : x:=pop(s)*pop(s);/ : x:=pop(s);x:=pop(s)/x;EN

24、DCASEpush(s,x) ; i:=i+1; ch:=ai ;END;comput:= ( ;END;25. 算術(shù)表達(dá)式求值的流程,其中OPTF為算術(shù)符棧,OPND為操作數(shù)棧,precede(oper1 , ope是比較運(yùn)算符優(yōu)先級(jí)別的函數(shù),operate(op nd1,oper,op nd2)為兩操作數(shù)的運(yùn)算結(jié)果函數(shù)。(#表示運(yùn)算起始和終止符號(hào))【西北工業(yè)大學(xué) 1999六、2 (7分)】1zOk7Ly21zOk7Ly2FUNCTION exp_reduced:opera ndtype;INITSTACK(OPTR);PUSH(OPTR#) ; INITSTACK(OPND);read(w

25、) ; fuNsDv23fuNsDv23WHILE NOT(w=# ) AND (GETTOP(OPTR)=#) DOIF NOT w in op THEN PUSH(OPND,w);ELSE CASE precede(GETTOP(OPTR),w)OF;read(w);=:(2).;read(w);:theta:=POP(OPTR);b:=POP(OPND);a:=POP(OPND);(3).;tqMB9ew4tqMB9ew4ENDC;RETURN(GETTOPQPND);ENDF;26.根據(jù)需要,用適當(dāng)?shù)恼Z句填入下面算法的中:問題:設(shè)有n件物品,重量分別為 選擇若干件恰好使它們的重量之和等

26、于HmMJFY05HmMJFY05W1,W2,W3,Wn和一個(gè)能裝載總重量為T的背包。能否從n件物品中T。若能,則背包問題有解,否則無解。解此問題的算法如下:FUNCTIONka np_stack(VART:real):boolea n; ViLRaIt6ViLRaIt6stack,w:ARRAY1. nOF real;VARtop:i nteger;w1: n存放n件物品的重量,依次從中取出物品放入背包中,檢查背包重量,若不超過T,則裝入,否則棄之,取下一個(gè)物品試之。若有解則返回函數(shù)值true,否則返回false 9eK0GsX79eK0GsX7BEGINtop:=0; i:=1;指示待選物

27、品WHILE (1)AND(2)DOIF .OR.AND (i0)THEN i:=(7)取出棧頂物品;top:= (8)i:=i+1;RETURN(10.)背包無解;T:= (9).; 恢復(fù)T值準(zhǔn)備挑選下一件物品END;【北京郵電大學(xué) 1996 四(10 分)】四 應(yīng)用題1. 名詞解釋:棧。 【燕山大學(xué) 1999 一、1(2 分)】【吉林工業(yè)大學(xué) 1999 一、 3(2分)】2. 名詞解釋:隊(duì)列【大連海事大學(xué) 1996 一、6 ( 1 分 ) 】3. 什么是循環(huán)隊(duì)列?【哈爾濱工業(yè)大學(xué) 2001三、2( 3分)】【河南大學(xué)1998 、4 ( 3分)】B6JglVV9B6JglVV94. 假設(shè)以S

28、和X分別表示入棧和出棧操作,則對(duì)初態(tài)和終態(tài)均為空的棧操作可由S和X組成的序列表示(如SXSX。P2IpeFpaP2IpeFpa( 1)試指出判別給定序列是否合法的一般規(guī)則。(2)兩個(gè)不同合法序列(對(duì)同一輸入序列)能否得到相同的輸出元素序列?如能得到,請(qǐng)舉列說明?!緰|南大學(xué) 1992 二( 10 分)】5有5個(gè)元素,其入棧次序?yàn)椋篈, B,C, D, E,在各種可能的出棧次序中,以元素C, D最先出棧(即C第一個(gè)且D第二個(gè)出棧)的次序有哪幾個(gè)?【西南交通大學(xué)2000二、1】3YIxKpSc3YIxKpSc6. 如果輸入序列為 1 2 3 4 5 6, 試問能否通過棧結(jié)構(gòu)得到以下兩個(gè)序列 :4 3

29、 5 6 1 2 和 1 3 5 4 2 6; 請(qǐng) 說明為什么不能或如何才能得到。 【武漢交通科技大學(xué) 1996 二、 3 (3 分)】 gUHFg9mdgUHFg9md7. 若元素的進(jìn)棧序列為:A BC、DE,運(yùn)用棧操作,能否得到出棧序列B、C、AE、D和DB、AC、E?為什么?【北京科技大學(xué)1998 一、2】uQHOMTQeuQHOMTQe8. 設(shè)輸入序列為 a,b,c,d, 試寫出借助一個(gè)??傻玫降膬蓚€(gè)輸出序列和兩個(gè)不能得到的輸出序列?!颈本┛萍即髮W(xué) 2001 一、 4(2 分)】9. 設(shè)輸入序列為 2, 3, 4, 5, 6,利用一個(gè)棧能得到序列 2, 5, 3, 4, 6 嗎?棧可以

30、用單鏈表實(shí)現(xiàn)嗎? IMGWiDkfIMGWiDkf【山東師范大學(xué) 1996 五、 4( 2 分)】10. 試證明:若借助棧由輸入序列 1,2,n得到輸出序列為 P1,P2,Pn (它是輸入序列的一個(gè)排列),則在輸出序列中不可能出現(xiàn)這樣的情形:存在著ijk,使PjH0 THENBEGINp(w-1);writeln(w);輸出 Wp(w-1 )END;END ;【西北大學(xué) 2001 三、 7】17. 用一個(gè)數(shù)組S (設(shè)大小為 MAX作為兩個(gè)堆棧的共享空間。請(qǐng)說明共享方法,棧滿/??盏呐袛鄺l件,并用C或PASCAL設(shè)計(jì)公用的入棧操作 push( i,x),其中i為0或1,用于表示棧號(hào),x為入棧值。

31、QrDCRkJkQrDCRkJk【浙江大學(xué) 1998 五、2 (7 分)】18. 簡(jiǎn)述下列程序段的功能。PROC algo(VAR S : stack; k:integer);VAR T: stack; temp: integer;WHILE NOT empty(S) DOtemp:=POP(S); IF tempk THEN PUSH(T,temp);WHILE NOT empty(T) DO temp:=POP(T);PUSH(S,temp); 4nCKn3dl4nCKn3dl【山東科技大學(xué) 2002 一、1(4 分)】19. 用棧實(shí)現(xiàn)將中綴表達(dá)式 8-(3+5)*(5-6/2) 轉(zhuǎn)換成后

32、綴表達(dá)式,畫出棧的變化過程圖?!灸暇┖娇蘸教齑髮W(xué) 2001 五 ( 10 分)】20. 在表達(dá)式中,有的運(yùn)算符要求從右到左計(jì)算,如 A*B*C 的計(jì)算次序應(yīng)為 (A*(B*C) ,這在由中綴生 成后綴的算法中是怎樣實(shí)現(xiàn)的?(以* 為例說明 ) 【東南大學(xué) 1993 一、 2(6 分) 1997 一、 1(8 分)】ijCSTNGmijCSTNGm21. 有遞歸算法如下:FUNCTION sum (n:integer):intger;BEGINIF n=0 THEN sum:=0ELSE BEGIN read(x); sum:=sum(n-1)+x END ;END;設(shè)初值n=4,讀入x=4,9

33、,6,2問: (1) 若 x 為局部變量時(shí);該函數(shù)遞歸結(jié)束后返回調(diào)用程序的 sum=? 并畫出在遞歸過程中棧狀態(tài)的變 化過程; vfB1pxanvfB1pxan(2) 若x為全程變量遞歸結(jié)束時(shí)返回調(diào)用程序的sum=?【北京郵電大學(xué)1997 一 (10分)】22. 畫出對(duì)算術(shù)表達(dá)式 A-B*C/D-E f F求值時(shí)操作數(shù)棧和運(yùn)算符棧的變化過程?!緰|南大學(xué) 2000一、3(6分)】23. 計(jì)算算術(shù)表達(dá)式的值時(shí),可用兩個(gè)棧作輔助工具。對(duì)于給出的一個(gè)表達(dá)式,從左向右掃描它的字符,并將操作數(shù)放入棧 S1中,運(yùn)算符放入棧 S2中,但每次掃描到運(yùn)算符時(shí),要把它同S2的棧頂運(yùn)算符進(jìn)行優(yōu)先級(jí)比較,當(dāng)掃描到的運(yùn)算

34、符的優(yōu)先級(jí)不高于棧頂運(yùn)算符的優(yōu)先級(jí)時(shí),取出棧S1 的棧頂和次棧頂?shù)膬蓚€(gè)元素,以及棧 S2 的棧頂運(yùn)算符進(jìn)行運(yùn)算將結(jié)果放入棧 S1 中(得到的結(jié)果依次用 T1、T2 等表示)。為方便比 較,假設(shè)棧 S2 的初始棧頂為 ?(?運(yùn)算符的優(yōu)先級(jí)低于加、減、乘、除中任何一種運(yùn)算)?,F(xiàn)假設(shè)要計(jì)算表 達(dá)式:A-B*C/D+E/F。寫出棧S1和S2的變化過程?!旧綎|科技大學(xué) 2001 一、4 (7分)】JbA9VhEoJbA9VhEo24. 有字符串次序?yàn)?*-y-a/yA2,利用棧,給出將次序改為3y-*ay2A/-的操作步驟。(可用X代表掃描該字符串過程中順序取一個(gè)字符進(jìn)棧的操作,用 S 代表從棧中取出一

35、個(gè)字符加入到新字符串尾的出棧操作。例如,ABC變?yōu)锽CA的操作步驟為XXSXSS【東北大學(xué)2001 一、4 ( 4分)】X7Ahr18pX7Ahr18p25. 內(nèi)存中一片連續(xù)空間(不妨假設(shè)地址從1到m)提供給兩個(gè)棧S1和S2使用,怎樣分配這部分存儲(chǔ)空間,使得對(duì)任一個(gè)棧,僅當(dāng)這部分空間全滿時(shí)才發(fā)生上溢?!緰|北大學(xué) 2000 一、 1 (3 分)】 b3zqXLCqb3zqXLCq26. 將兩個(gè)棧存入數(shù)組 V1.m 應(yīng)如何安排最好?這時(shí)???、 棧滿的條件是什么?【東南大學(xué) 1998 一、 5】 pZyytu5rpZyytu5r27. 在一個(gè)算法中需要建立多個(gè)堆棧時(shí)可以選用下列三種方案之一,試問:

36、這三種方案之間相比較各有什 么優(yōu)缺點(diǎn)? DVyGZezsDVyGZezs( 1)分別用多個(gè)順序存儲(chǔ)空間建立多個(gè)獨(dú)立的堆棧;( 2)多個(gè)堆棧共享一個(gè)順序存儲(chǔ)空間;(3)分別建立多個(gè)獨(dú) 立的鏈接堆棧。 【北京航空航天大學(xué) 1998 一、 6(4分)】28在某程序中, 有兩個(gè)棧共享一個(gè)一維數(shù)組空間SPACEN、 SPACE0、 SPACEN-1 分別是兩個(gè)棧的棧底。RQxPvY3tRQxPvY3t(1) 對(duì)棧1、棧2,試分別寫出(元素 x)入棧的主要語句和出棧的主要語句。(2)對(duì)棧 1、 棧2,試分別寫出棧滿 、 ??盏臈l件。 【北京理工大學(xué) 1999 二、 2(8分)】29. 簡(jiǎn)述順序存儲(chǔ)隊(duì)列的假

37、溢出的避免方法及隊(duì)列滿和空的條件。【山東大學(xué) 2000 一、 2 (4 分)】5MxX1Ixu5MxX1Ixu30. 舉例說明順序隊(duì)的“假溢出”現(xiàn)象,并給出解決方案。 【福州大學(xué) 1998 三、 5 (6 分)】31. 怎樣判定循環(huán)隊(duì)列的空和滿?【燕山大學(xué) 1999 二、 3(4分)】32. 簡(jiǎn)要敘述循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu),并寫出其初始狀態(tài)、隊(duì)列空、隊(duì)列滿時(shí)的隊(duì)首指針與隊(duì)尾指針的值?!灸暇┖娇蘸教齑髮W(xué) 1995 七(5分)】33. 利用兩個(gè)棧 sl,s2 模擬一個(gè)隊(duì)列時(shí),如何用棧的運(yùn)算實(shí)現(xiàn)隊(duì)列的插入,刪除以及判隊(duì)空運(yùn)算。請(qǐng)簡(jiǎn)述 這些運(yùn)算的算法思想。 【北京郵電大學(xué) 1992 一、 1 】【東南大學(xué)

38、 1999 一、 1 ( 7 分)】 jIw5xs0vjIw5xs0v34一個(gè)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)描述如下:TYPE sequeuetp=RECORDelem: ARRAY1.MAXSIZE OF elemtp ;front, rear : 0 . .MAXSIZE ;END;給出循環(huán)隊(duì)列的隊(duì)空和隊(duì)滿的判斷條件,并且分析一下該條件對(duì)隊(duì)列實(shí)際存儲(chǔ)空間大小的影響,如果為了 不損失存儲(chǔ)空間,你如何改進(jìn)循環(huán)隊(duì)列的隊(duì)空和隊(duì)滿的判斷條件?【西北工業(yè)大學(xué) 1999 三 (8 分 )】 xEve2buwxEve2buw35. 如果用一個(gè)循環(huán)數(shù)組 q0.m-1 表示隊(duì)列時(shí), 該隊(duì)列只有一個(gè)隊(duì)列頭指針 front

39、,不設(shè)隊(duì)列尾指針 rear , 而改置計(jì)數(shù)器 count 用以記錄隊(duì)列中結(jié)點(diǎn)的個(gè)數(shù)。 KAvmyVYxKAvmyVYx( 1)編寫實(shí)現(xiàn)隊(duì)列的三個(gè)基本運(yùn)算:判空、入隊(duì)、出隊(duì)(3 分)( 2)隊(duì)列中能容納元素的最多個(gè)數(shù)是多少?(1 分)【東北大學(xué) 2002 一、1】36. 給出循環(huán)隊(duì)列中元素個(gè)數(shù)的計(jì)算式(設(shè)隊(duì)最大長(zhǎng)度為 N,隊(duì)首指針FRONT隊(duì)尾指針REAR)【西北大學(xué) 2000 二、7 (5 分)】37. 順序隊(duì)列一般應(yīng)該組織成為環(huán)狀隊(duì)列的形式,而且一般隊(duì)列頭或尾其中之一應(yīng)該特殊處理。例如,隊(duì)列為 listarray0.n-1,隊(duì)列頭指針為 front ,隊(duì)列尾指針為 rear , 則 list

40、array rear 表示下一個(gè)可以插入隊(duì)列的位置。請(qǐng)解釋其原因?!颈本┐髮W(xué)1999 一、3 ( 20/3分)】Ywuu4FszYwuu4Fsz38. 設(shè)一個(gè)雙端隊(duì)列,元素進(jìn)入該隊(duì)列的次序?yàn)閍, b,c, d。求既不能由輸入受限的雙端隊(duì)列得到,又不能由輸出受限的雙端隊(duì)列得到的輸出序列。 【中山大學(xué) 1999 一、 4 (3分)】 cstDApWAcstDApWA39. 若以 1、 2、 3、 4 作為雙端隊(duì)列的輸入序列,試分別求出以下條件的輸出序列:( 1)能由輸入受限的雙端隊(duì)列得到,但不能由輸出受限的雙端隊(duì)列得到的輸出序列;( 2)能由輸出受限的雙端隊(duì)列得到,但不能由輸入受限的雙端隊(duì)列得到的

41、輸出序列;( 3)既不能由輸入受限的雙端隊(duì)列得到,也不能由輸出受限的雙端隊(duì)列得到的輸出序列?!旧綎|科技大學(xué) 2001 一、 3( 6 分)】40. 假設(shè)以數(shù)組 sq0.7 存放循環(huán)隊(duì)列元素 , 變量 f 指向隊(duì)頭元素的前一位置 , 變量 r 指向隊(duì)尾元素,如用A和D分別表示入隊(duì)和出隊(duì)操作,請(qǐng)給出:qotL69pBqotL69pB( 1 ) 隊(duì)空的初始條件 ;( 2) 執(zhí)行操作序列A3D1A5D2A1D2A4 時(shí)的狀態(tài) , 并作必要的說明。 【北方交通大學(xué) 1993 四( 12 分)】EksTCSTCEksTCSTC41. 設(shè)輸入元素為1、2、3、P和A,輸入次序?yàn)?23PA如圖(編者略)。元素

42、經(jīng)過棧后達(dá)輸出序列,當(dāng)所 有元素均到達(dá)輸出序列后,有哪些序列可以作為高級(jí)語言的變量名。【中山大學(xué) 1997 】 Sgs28CnDSgs28CnD五 算法設(shè)計(jì)題O.maxsize-1, 為了盡量利用空間,減少溢S1,S2 有關(guān)入棧和出棧的操作算法。1. 設(shè)有兩個(gè)棧 S1,S 2都采用順序棧方式,并且共享一個(gè)存儲(chǔ)區(qū) 出的可能,可采用棧頂相向,迎面增長(zhǎng)的存儲(chǔ)方式。試設(shè)計(jì) 6craEmRE6craEmRE【哈爾濱工業(yè)大學(xué) 2001七(12分)】2. 設(shè)從鍵盤輸入一整數(shù)的序列:ai, a 2, a 3,,an,試編寫算法實(shí)現(xiàn):用棧結(jié)構(gòu)存儲(chǔ)輸入的整數(shù),當(dāng)a工-1時(shí),將a進(jìn)棧;當(dāng)ai =-1時(shí),輸出棧頂整數(shù)

43、并出棧。算法應(yīng)對(duì)異常情況(入棧滿等)給出相應(yīng)的信息。k8qia6IFk8qia6IF【南京航空航天大學(xué)1998六(10分)】3. 設(shè)表達(dá)式以字符形式已存入數(shù)組En中,#為表達(dá)式的結(jié)束符,試寫出判斷表達(dá)式中括號(hào)(和)是否配對(duì)的C語言描述算法:EXYX(E);(注:算法中可調(diào)用棧操作的基本算法。)y3qrGQOGy3qrGQOG【北京科技大學(xué)2001九、1( 10分)】4. 從鍵盤上輸入一個(gè)逆波蘭表達(dá)式,用偽碼寫出其求值程序。規(guī)定:逆波蘭表達(dá)式的長(zhǎng)度不超過一行,以$符作為輸入結(jié)束,操作數(shù)之間用空格分隔,操作符只可能有+、-、*、/四種運(yùn)算。例如:234 34+2*$ MZpzcAiHMZpzcAi

44、H【山東師范大學(xué)1999七 (10分)】5. 假設(shè)以I和0分別表示入棧和出棧操作。棧的初態(tài)和終態(tài)均為空,入棧和出棧的操作序列可表示為僅由I和0組成的序列,稱可以操作的序列為合法序列,否則稱為非法序列。OVoHIjMIOVoHIjMI(1)下面所示的序列中哪些是合法的?A. IOIIOIOO B. IOOIOIIO C. IIIOIOIO D. IIIOOIOOdRoQe3gJdRoQe3gJ(2)通過對(duì)(1)的分析,寫出一個(gè)算法,判定所給的操作序列是否合法。若合法,返回true,否則返回false (假定被判定的操作序列已存入一維數(shù)組中)?!疚錆h大學(xué)2000五、2】rNnYJNKKrNnYJNKK6. 設(shè)計(jì)一個(gè)算法,判斷一個(gè)算術(shù)表達(dá)式中的括號(hào)是否配對(duì)。算術(shù)表達(dá)式保存在帶頭結(jié)點(diǎn)的單循環(huán)鏈表中,每個(gè)結(jié)點(diǎn)有兩個(gè)域

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論