《PTA第三章栈和队列练习题》由会员分享,可在线阅读,更多相关《PTA第三章栈和队列练习题(11页珍藏版)》请在金锄头文库上搜索。
1、1-1通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (2分)T F作者: DS课程组单位: 浙江大学1-2在用数组表示的循环队列中,front值一定小于等于rear值。 (1分)T F作者: DS课程组单位: 浙江大学1-3若一个栈的输入序列为1, 2, 3, 4, 5,则不可能得到3, 4, 1, 2, 5这样的出栈序列。 (2分)T F作者: 徐镜春单位: 浙江大学1-4If keys are pushed onto a stack in the order 1, 2, 3, 4,
2、5, then it is impossible to obtain the output sequence 3, 4, 1, 2, 5. (2分)T F作者: 徐镜春单位: 浙江大学1-5所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (1分)T F作者: DS课程组单位: 浙江大学1-6An algorithm to check for balancing symbols in an expression uses a stack to store the symbols. (1分)T F2-1设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元
3、素出栈后立即进入队列Q,且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是: (2分)1. 12. 23. 34. 4作者: DS课程组单位: 浙江大学2-2若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是? (2分)1. b c a e f d2. c b d a e f3. d c e b f a4. a f e d c b作者: DS课程组单位: 浙江大学2-3设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是? (2分)1. 3 2 1 5 42. 5 1 2 3 43.
4、 4 5 1 3 24. 4 3 1 2 5作者: DS课程组单位: 浙江大学2-4令P代表入栈,O代表出栈。则将一个字符串3*a+b/c变为3 a * b c / +的堆栈操作序列是哪个?(例如将ABC变成BCA的操作序列是PPOPOO。) (2分)1. PPPOOOPPOPPOOO 2. POPOPOPPOPPOOO 3. POPPOOPPOPOOPO 4. POPPOOPPOPPOOO作者: DS课程组单位: 浙江大学2-5设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是: (2分)1. 12. 33. 54. 1或者5作者: DS课程组单位:
5、 浙江大学2-6为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是? (1分)1. 堆栈2. 队列3. 树4. 图作者: DS课程组单位: 浙江大学2-7某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则不可能得到的出队序列是: (2分)1. b a c d e2. d b a c e3. e c b a d4. d b c a e作者: DS课程组单位: 浙江大学2-8若用大小为6的数组来实现循环队列,且当前f
6、ront和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少? (2分)1. 2和02. 2和23. 2和44. 2和6作者: DS课程组单位: 浙江大学2-10以下不是栈的基本运算的是( )。 (2分)1. 删除栈顶元素 2. 删除栈底元素3. 判断栈是否为空4. 将栈置为空栈作者: 严冰单位: 浙江大学城市学院2-11在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( )。 (2分)1. front=front-next2. s-next=rear;rear=s3. rear-next=s;rear=s;
7、4. s-next=front;front=s;作者: 杨斌单位: 枣庄学院2-12依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( )。 (2分)1. a2. b3. c4. d作者: 杨斌单位: 枣庄学院2-13当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。 (2分)1. N2. N-13. N+14. N+2作者: 杨斌单位: 枣庄学院2-14判断一个循环队列QU(最多元素为MaxSize)为空的条件是()。 (2分)1. QU.front = QU.rear2. QU.front != QU.rear3. QU.front
8、= (QU.rear + 1) % MaxSize4. QU.front != (QU.rear + 1) % MaxSize作者: 严冰单位: 浙江大学城市学院2-15(neuDS)在队列中存取数据元素的原则是( )。(2分)1. 先进先出 2. 先进后出3. 后进先出4. 没有限制作者: 徐婉珍单位: 浙江大学2-16循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。 (2分)1. (rear-front+m)%m2. rear-front3. rear-front-14. rear-front作者: 杨斌单位: 枣庄学院2-
9、17若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的是( )。 (2分)1. 12342. 41323. 42314. 4213作者: 杨斌单位: 枣庄学院2-18(neuDS)在链栈中,进行出栈操作时( )。 (2分)1. 需要判断栈是否满2. 需要判断栈是否为空3. 需要判断栈元素的类型4. 无需对栈作任何操作作者: 徐婉珍单位: 广东东软学院2-19(neuDS)在栈中存取数据的原则是( )。(2分)1. 先进先出2. 先进后出3. 后进后出4. 没有限制作者: 徐婉珍单位: 广东东软学院2-20链式栈与顺序栈相比,一个比较明显的优点
10、是( )。 (2分)1. 插入操作更加方便2. 通常不会出现栈满的情况3. 不会出现栈空的情况4. 删除操作更加方便作者: 严冰单位: 浙江大学城市学院2-21若(a-b)*(c+d)是中序表达式,则其后序表达式是( )。 (2分)1. abcd+*-2. ab-cd+*3. ab-*cd+4. a-bcd+*作者: 严冰单位: 浙江大学城市学院2-21Let P stands for push and O for pop. When using a stack to convert the infix expression 3*2+8/4 into a postfix expression,
11、 the stack operation sequence is: (3分)1. PPPOOO2. POPOPO3. POPPOO4. PPOOPO作者: DS课程组单位: 浙江大学2-22The postfix expression of a*(b+c)-d is: (2分)1. a b c + * d -2. a b c d * + -3. a b c * + d -4. - + * a b c d作者: DS课程组单位: 浙江大学2-23现有队列 Q 与栈 S,初始时 Q 中的元素依次是 1, 2, 3, 4, 5, 6 (1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元
12、素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:(2分)1. 1, 2, 5, 6, 4, 32. 2, 3, 4, 5, 6, 13. 3, 4, 5, 6, 1, 24. 6, 5, 4, 3, 2, 1作者: 考研真题单位: 浙江大学2-24Supposed that a, b, c, d, e and f are pushed onto a stack in the given order. Assume that pushing and popping can be done alternatively, but no consecutive thr
13、ee poppings are allowed. Then among the following, the impossible popping sequence is: (2分)1. b c a e f d2. c b d a e f3. d c e b f a4. a f e d c b作者: DS课程组单位: 浙江大学2-25Given an empty stack S and an empty queue Q. Push elements 1, 2, 3, 4, 5, 6, 7 one by one onto S. If each element that is popped fro
14、m S is enqueued onto Q immediately, and if the dequeue sequence is 4, 5, 7, 6, 3, 2, 1, then the minimum size of S must be: (2分)1. 22. 33. 44. 5作者: Martin Ester单位: 浙江大学2-26Given the pushing sequence of a stack as 6, 5, 4, 3, 2, 1. Among the following, the impossible popping sequence is: (2分)1. 2 3 4 1 5 62. 3 4 6 5 2 13. 5 4 3 6 1 24. 4 5 3 1 2 6作者: DS课程组单位: 浙江大学2-27下列关于栈的叙述中,错误的是:(2分)1. 采用非递归方式重写递归程序时必须使用栈2. 函数调用时,系统要用栈保存必要的信息3. 只要确定了入栈次序,即可确定出栈次序4. 栈是一种受限的线性表,允许在其两端进行操作1. 仅 12. 仅 1、2、33. 仅 1、3、44. 仅 2、3、4201712190218李文超61.0F