我是靠谱客的博主 丰富火,最近开发中收集的这篇文章主要介绍第三章 栈和队列 填空题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

三  填空题

1.栈是___操作受限____的线性表,其运算遵循_先进后出______的原则。【北京科技大学 1997 一、3】

2.____栈___是限定仅在表尾进行插入或删除操作的线性表。【燕山大学 1998 一、3 (1分)】

3. 一个栈的输入序列是:1,2,3则不可能的栈输出序列是__3,1,2_____中国人民大学2001一、1(2分)】

4. 设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是__2,3_____,而栈顶指针值是___100c____H。设栈为顺序栈,每个元素占4个字节。【西安电子科技大学 1998 二、1(4分)】

5. 当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top[1]与top[2],则当栈1空时,top[1]为__0_____,栈2空时 ,top[2]为_n+1______,栈满时为__top【1】+1=top【2】_____。

【南京理工大学 1997 三、1(3分)】

6.两个栈共享空间时栈满的条件___两栈顶指针相减的绝对值为1____。【中山大学 1998 一、3(1分)】

7.在作进栈运算时应先判别栈是否_(1)满_;在作退栈运算时应先判别栈是否_空(2)_;当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为_(3)n_

为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_(4)栈底_分别设在内存空间的两端,这样只有当_(5)两栈顶指针相邻_时才产生溢出。【山东工业大学 1994 一、1(5分)】

8. 多个栈共存时,最好用__链式存储结构_____作为存储结构。【南京理工大学 2001 二、7(2分)】

9.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为__s,x,s,,s,x,s,x,x_____。【西南交通大学 2000 一、5】

10. 顺序栈用data[1..n]存储数据,栈顶指针是top,则值为x的元素入栈的操作是_data[top++]=x______。

【合肥工业大学 2001 三、2 (2分)】

11.表达式23+((12*3-2)/4+34*5/7)+108/9的后缀表达式是_______。【中山大学 1998 一、4(1分)】

12. 循环队列的引入,目的是为了克服_假溢出时大量移动元素______厦门大学 2001 一、1 (14/8分)】                                  

13.用下标0开始的N元数组实现循环队列时,为实现下标变量M加1后在数组有效下标范围内循环,可采用的表达式是:M:=_______(填PASCAL语言,C语言的考生不填); M= _______(填C语言,PASCAL语言的考生不填)。【西南交通大学 2000 一、7】

14.____队列____又称作先进先出表。【重庆大学 2000 一、7】

15. 队列的特点是_先进先出______。【北京理工大学 2000 二、2(2分)】

16.队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是_先进先出______。

【北方交通大学 2001 二、5】

17. 已知链队列的头尾指针分别是f和r,则将值x入队的操作序列是_______。

【合肥工业大学 2000 三、3(2分)】

18.区分循环队列的满与空,只有两种方法,它们是_牺牲一个存储单元_____和_设标记_____。【北京邮电大学2001 二、2(4分)】

19.设循环队列用数组A[1..M]表示,队首队尾指针分别是FRONT和TAIL,判定队满的条件为_(tail+1)mod m=front______。

【山东工业大学 1995 一、1(1分)】

20. 设循环队列存放在向量sq.data[0:M]中,则队头指针sq.front在循环意义下的出队操作可表示为__sq.front=(sq.front+1)mod(m+1)_____,若用牺牲一个单元的办法来区分队满和队空(设队尾指针sq.rear),则队满的条件为__sq.front=(sq.rear+1)mod (m+1)_____。

【长沙铁道学院 1997 二、4 (4分)】

21.表达式求值是__栈_____应用的一个典型例子。【重庆大学 2000 一、10】

22.循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear ,则当前队列的元素个数是__(rear-front+m)mod m_____厦门大学 2000 六、1(16%/3分)】

23.设Q[0..N-1]为循环队列,其头、尾指针分别为P和R,则队Q中当前所含元素个数为____(r-p+n)%n___。

【北京科技大学 1997 一、4】

24.完善下面算法。【中山大学 1998 四、2(6分)】

后缀表达式求值,表达式13/25+61的后缀表达式格式为: 13, 25/61, +

FUNC  compute(a):real;   后缀表达式存储在数组a[1..m]中。

BEGIN

   setnull(s);i:=1;ch:= (1)______;

   WHILE ch<>’@’ DO

     BEGIN

       CASE ch OF

        ‘0’..‘9’:  x:=0;

              WHILE ch<>’,’DO

                BEGIN

                  x:=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;

ENDCASE

push(s,x);i:=i+1;ch:=a[i];

END;

comput:= (3)_______;

END;

25. 算术表达式求值的流程,其中OPTR为算术符栈,OPND为操作数栈,precede(oper1,oper2)是比较运算符优先级别的函数,operate(opnd1,oper,opnd2)为两操作数的运算结果函数。(#表示运算起始和终止符号)【西北工业大学 1999 六、2 (7分)】

  FUNCTION  exp_reduced:operandtype;

  INITSTACK(OPTR);PUSH(OPTR"#");INITSTACK(OPND);read(w);

  WHILE  NOT((w='#’) AND (GETTOP(OPTR)='#')) DO

     IF NOT w in op THEN PUSH(OPND,w);

     ELSE CASE precede(GETTOP(OPTR),w)OF

              '<':[(1)_______; read(w);]

              '=':[(2)_______; read(w);];

              '>':[theta:=POP(OPTR);b:=POP(OPND);a:=POP(OPND);(3)_______;]

          ENDC;

RETURN(GETTOP(OPND));

ENDF;

26.根据需要,用适当的语句填入下面算法的_______中:

问题:设有n件物品,重量分别为w1,w2,w3,…,wn和一个能装载总重量为T的背包。能否从n件物品中选择若干件恰好使它们的重量之和等于T。若能,则背包问题有解,否则无解。解此问题的算法如下: 

    FUNCTION kanp_stack(VAR stack,w:ARRAY[1..n] OF real; VAR top:integer; T:real):boolean;

     {w[1:n] 存放n件物品的重量,依次从中取出物品放入背包中,检查背包重量,若不超过T,则装入,否则弃之,取下一个物品试之。若有解则返回函数值true,否则返回false}

BEGIN

    top:=0;  i:=1;               { i指示待选物品}

    WHILE (1)_______ AND(2)_______DO

       [IF (3)______ OR (4)_______ AND (i<n)

          THEN  [top := (5)_______ ;stack[top] :=i;{第i件物品装入背包}

                 T:=T-w[i]];

        IF T=0 THEN RETURN ((6)_______)  {背包问题有解}

               ELSE  [IF  (i=n )  AND  (top>0)

                      THEN  [i:=(7)_______;{取出栈顶物品}

                             top:= (8)_______ ;T:= (9)_______ ];  {恢复T值}

                       i:=i+1        {准备挑选下一件物品}

                     ];

        ];

    RETURN((10)_______) {背包无解}

END;

【北京邮电大学 1996 四(10分)】

25、(1)PUSH(OPTR,w)(2)POP(OPTR)(3)PUSH(OPND,operate(a,theta,b))

  26、(1)T>0(2)i<n(3)T>0(4)top<n(5)top+1(6)true(7)i-1(8)top-1(9)T+w[i](10)false

 

最后

以上就是丰富火为你收集整理的第三章 栈和队列 填空题的全部内容,希望文章能够帮你解决第三章 栈和队列 填空题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部