最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

PTA第三章栈和队列练习题

IT圈 admin 34浏览 0评论

2024年2月25日发(作者:帅以珊)

1—1

通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (2分)

T

作者: DS课程组

单位: 浙江大学

F

1-2

在用数组表示的循环队列中,front值一定小于等于rear值。 (1分)

T

作者: DS课程组

单位: 浙江大学

F

1-3

若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (2分)

T

作者: 徐镜春

单位: 浙江大学

F

1—4

If keys are pushed onto a stack in the order {1, 2, 3, 4, 5}, then it is impossible to obtain

the output sequence {3, 4, 1, 2, 5}. (2分)

T

作者: 徐镜春

单位: 浙江大学

F

1—5

所谓“循环队列"是指用单向循环链表或者循环数组表示的队列。 (1分)

T

作者: DS课程组

单位: 浙江大学

F

1-6

An algorithm to check for balancing symbols in an expression uses a stack to store the

symbols. (1分)

T F

2-1

设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是: (2分)

1.

2.

3.

4.

1

2

3

4

作者: DS课程组

单位: 浙江大学

2—2

若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是? (2分)

1.

2.

3.

4.

b c a e f d

c b d a e f

d c e b f a

a f e d c b

作者: DS课程组

单位: 浙江大学

2—3

设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是? (2分)

1.

2.

3.

4.

3 2 1 5 4

5 1 2 3 4

4 5 1 3 2

4 3 1 2 5

作者: DS课程组

单位: 浙江大学

2—4

令P代表入栈,O代表出栈。则将一个字符串3*a+b/c变为3 a * b c / +的堆栈操作序列是哪个?(例如将ABC变成BCA的操作序列是PPOPOO。) (2分)

1.

2.

3.

4.

PPPOOOPPOPPOOO

POPOPOPPOPPOOO

POPPOOPPOPOOPO

POPPOOPPOPPOOO

作者: DS课程组

单位: 浙江大学

2-5

设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是: (2分)

1.

2.

3.

4.

1

3

5

1或者5

作者: DS课程组

单位: 浙江大学

2—6

为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是? (1分)

1.

2.

3.

4.

堆栈

队列

作者: DS课程组

单位: 浙江大学

2-7

某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则不可能得到的出队序列是: (2分)

1.

2.

3.

4.

b a c d e

d b a c e

e c b a d

d b c a e

作者: DS课程组

单位: 浙江大学

2—8

若用大小为6的数组来实现循环队列,且当前front和当从队列中删除两个元素,再加入两个元素后,front和分)

1.

2.

3.

4.

2和0

2和2

2和4

2和6

rear的值分别为0和4。rear的值分别为多少? (2作者: DS课程组

单位: 浙江大学

2—10

以下不是栈的基本运算的是( )。 (2分)

1.

2.

3.

删除栈顶元素

删除栈底元素

判断栈是否为空

4.

作者: 严冰

将栈置为空栈

单位: 浙江大学城市学院

2—11

在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( ). (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

front=front—>next

s—>next=rear;rear=s

rear—〉next=s;rear=s;

s—>next=front;front=s;

2—12

依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( )。 (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

a

b

c

d

2—13

当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。 (2分)

1.

2.

3.

N

N—1

N+1

4.

作者: 杨斌

N+2

单位: 枣庄学院

2—14

判断一个循环队列QU(最多元素为MaxSize)为空的条件是()。 (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

==

!=

== ( + 1) % MaxSize

!= ( + 1) % MaxSize

2-15

(neuDS)在队列中存取数据元素的原则是( )。(2分)

1.

2.

3.

4.

先进先出

先进后出

后进先出

没有限制

作者: 徐婉珍

单位: 浙江大学

2—16

循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。 (2分)

1.

2.

3.

(rear-front+m)%m

rear—front

rear—front-1

4.

作者: 杨斌

rear—front

单位: 枣庄学院

2—17

若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的是( )。 (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

1234

4132

4231

4213

2-18

(neuDS)在链栈中,进行出栈操作时( ). (2分)

1.

2.

3.

4.

需要判断栈是否满

需要判断栈是否为空

需要判断栈元素的类型

无需对栈作任何操作

作者: 徐婉珍

单位: 广东东软学院

2—19

(neuDS)在栈中存取数据的原则是( ).(2分)

1.

2.

3.

先进先出

先进后出

后进后出

4. 没有限制

作者: 徐婉珍

单位: 广东东软学院

2-20

链式栈与顺序栈相比,一个比较明显的优点是( ). (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

插入操作更加方便

通常不会出现栈满的情况

不会出现栈空的情况

删除操作更加方便

2-21

若(a-b)*(c+d)是中序表达式,则其后序表达式是( ). (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

abcd+*—

ab-cd+*

ab-*cd+

a-bcd+*

2—21

Let 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, the stack operation sequence is:

(3分)

1.

2.

3.

PPPOOO

POPOPO

POPPOO

4. PPOOPO

作者: DS课程组

单位: 浙江大学

2-22

The postfix expression of

a*(b+c)-d is: (2分)

1.

2.

3.

4.

a b c + * d —

a b c d * + -

a b c * + d -

— + * a b c d

作者: DS课程组

单位: 浙江大学

2-23

现有队列 Q 与栈 S,初始时 Q 中的元素依次是{ 1, 2, 3, 4, 5, 6 }(1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:(2分)

1.

2.

3.

4.

1, 2, 5, 6, 4, 3

2, 3, 4, 5, 6, 1

3, 4, 5, 6, 1, 2

6, 5, 4, 3, 2, 1

作者: 考研真题

单位: 浙江大学

2—24

Supposed 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 three poppings are allowed. Then among the following, the

impossible popping sequence is: (2分)

1.

2.

b c a e f d

c b d a e f

3.

4.

d c e b f a

a f e d c b

作者: DS课程组

单位: 浙江大学

2-25

Given 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 from 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.

2.

3.

4.

2

3

4

5

作者: Martin Ester

单位: 浙江大学

2—26

Given 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.

2 3 4 1 5 6

3 4 6 5 2 1

5 4 3 6 1 2

4 5 3 1 2 6

作者: DS课程组

单位: 浙江大学

2—27

下列关于栈的叙述中,错误的是:(2分)

1.

2.

采用非递归方式重写递归程序时必须使用栈

函数调用时,系统要用栈保存必要的信息

3.

4.

1.

2.

3.

4.

只要确定了入栈次序,即可确定出栈次序

栈是一种受限的线性表,允许在其两端进行操作

仅 1

仅 1、2、3

仅 1、3、4

仅 2、3、4

61.0 F(2.0) F(1。0) T(2。0) T(2。0) F(1.0)A(2.0) D(2。0) D(2。0) B(1.0) D(2.0) A(2。0)B(2。0) A(2。0) A(2。0) A(2。0) C(2.0) BB(2。0) C(3.0) A(2.0) C D(2.0) D(2。0) B2 李文超

T(1.0) C(2.0) D(2.0)

B(2。0) C(2。0) C(2.0)

(2。0) B(2.0) B(2。0)

(2.0) C(2.0)

2024年2月25日发(作者:帅以珊)

1—1

通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (2分)

T

作者: DS课程组

单位: 浙江大学

F

1-2

在用数组表示的循环队列中,front值一定小于等于rear值。 (1分)

T

作者: DS课程组

单位: 浙江大学

F

1-3

若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (2分)

T

作者: 徐镜春

单位: 浙江大学

F

1—4

If keys are pushed onto a stack in the order {1, 2, 3, 4, 5}, then it is impossible to obtain

the output sequence {3, 4, 1, 2, 5}. (2分)

T

作者: 徐镜春

单位: 浙江大学

F

1—5

所谓“循环队列"是指用单向循环链表或者循环数组表示的队列。 (1分)

T

作者: DS课程组

单位: 浙江大学

F

1-6

An algorithm to check for balancing symbols in an expression uses a stack to store the

symbols. (1分)

T F

2-1

设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是: (2分)

1.

2.

3.

4.

1

2

3

4

作者: DS课程组

单位: 浙江大学

2—2

若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是? (2分)

1.

2.

3.

4.

b c a e f d

c b d a e f

d c e b f a

a f e d c b

作者: DS课程组

单位: 浙江大学

2—3

设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是? (2分)

1.

2.

3.

4.

3 2 1 5 4

5 1 2 3 4

4 5 1 3 2

4 3 1 2 5

作者: DS课程组

单位: 浙江大学

2—4

令P代表入栈,O代表出栈。则将一个字符串3*a+b/c变为3 a * b c / +的堆栈操作序列是哪个?(例如将ABC变成BCA的操作序列是PPOPOO。) (2分)

1.

2.

3.

4.

PPPOOOPPOPPOOO

POPOPOPPOPPOOO

POPPOOPPOPOOPO

POPPOOPPOPPOOO

作者: DS课程组

单位: 浙江大学

2-5

设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是: (2分)

1.

2.

3.

4.

1

3

5

1或者5

作者: DS课程组

单位: 浙江大学

2—6

为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是? (1分)

1.

2.

3.

4.

堆栈

队列

作者: DS课程组

单位: 浙江大学

2-7

某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则不可能得到的出队序列是: (2分)

1.

2.

3.

4.

b a c d e

d b a c e

e c b a d

d b c a e

作者: DS课程组

单位: 浙江大学

2—8

若用大小为6的数组来实现循环队列,且当前front和当从队列中删除两个元素,再加入两个元素后,front和分)

1.

2.

3.

4.

2和0

2和2

2和4

2和6

rear的值分别为0和4。rear的值分别为多少? (2作者: DS课程组

单位: 浙江大学

2—10

以下不是栈的基本运算的是( )。 (2分)

1.

2.

3.

删除栈顶元素

删除栈底元素

判断栈是否为空

4.

作者: 严冰

将栈置为空栈

单位: 浙江大学城市学院

2—11

在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( ). (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

front=front—>next

s—>next=rear;rear=s

rear—〉next=s;rear=s;

s—>next=front;front=s;

2—12

依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( )。 (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

a

b

c

d

2—13

当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。 (2分)

1.

2.

3.

N

N—1

N+1

4.

作者: 杨斌

N+2

单位: 枣庄学院

2—14

判断一个循环队列QU(最多元素为MaxSize)为空的条件是()。 (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

==

!=

== ( + 1) % MaxSize

!= ( + 1) % MaxSize

2-15

(neuDS)在队列中存取数据元素的原则是( )。(2分)

1.

2.

3.

4.

先进先出

先进后出

后进先出

没有限制

作者: 徐婉珍

单位: 浙江大学

2—16

循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。 (2分)

1.

2.

3.

(rear-front+m)%m

rear—front

rear—front-1

4.

作者: 杨斌

rear—front

单位: 枣庄学院

2—17

若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的是( )。 (2分)

1.

2.

3.

4.

作者: 杨斌

单位: 枣庄学院

1234

4132

4231

4213

2-18

(neuDS)在链栈中,进行出栈操作时( ). (2分)

1.

2.

3.

4.

需要判断栈是否满

需要判断栈是否为空

需要判断栈元素的类型

无需对栈作任何操作

作者: 徐婉珍

单位: 广东东软学院

2—19

(neuDS)在栈中存取数据的原则是( ).(2分)

1.

2.

3.

先进先出

先进后出

后进后出

4. 没有限制

作者: 徐婉珍

单位: 广东东软学院

2-20

链式栈与顺序栈相比,一个比较明显的优点是( ). (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

插入操作更加方便

通常不会出现栈满的情况

不会出现栈空的情况

删除操作更加方便

2-21

若(a-b)*(c+d)是中序表达式,则其后序表达式是( ). (2分)

1.

2.

3.

4.

作者: 严冰

单位: 浙江大学城市学院

abcd+*—

ab-cd+*

ab-*cd+

a-bcd+*

2—21

Let 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, the stack operation sequence is:

(3分)

1.

2.

3.

PPPOOO

POPOPO

POPPOO

4. PPOOPO

作者: DS课程组

单位: 浙江大学

2-22

The postfix expression of

a*(b+c)-d is: (2分)

1.

2.

3.

4.

a b c + * d —

a b c d * + -

a b c * + d -

— + * a b c d

作者: DS课程组

单位: 浙江大学

2-23

现有队列 Q 与栈 S,初始时 Q 中的元素依次是{ 1, 2, 3, 4, 5, 6 }(1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:(2分)

1.

2.

3.

4.

1, 2, 5, 6, 4, 3

2, 3, 4, 5, 6, 1

3, 4, 5, 6, 1, 2

6, 5, 4, 3, 2, 1

作者: 考研真题

单位: 浙江大学

2—24

Supposed 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 three poppings are allowed. Then among the following, the

impossible popping sequence is: (2分)

1.

2.

b c a e f d

c b d a e f

3.

4.

d c e b f a

a f e d c b

作者: DS课程组

单位: 浙江大学

2-25

Given 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 from 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.

2.

3.

4.

2

3

4

5

作者: Martin Ester

单位: 浙江大学

2—26

Given 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.

2 3 4 1 5 6

3 4 6 5 2 1

5 4 3 6 1 2

4 5 3 1 2 6

作者: DS课程组

单位: 浙江大学

2—27

下列关于栈的叙述中,错误的是:(2分)

1.

2.

采用非递归方式重写递归程序时必须使用栈

函数调用时,系统要用栈保存必要的信息

3.

4.

1.

2.

3.

4.

只要确定了入栈次序,即可确定出栈次序

栈是一种受限的线性表,允许在其两端进行操作

仅 1

仅 1、2、3

仅 1、3、4

仅 2、3、4

61.0 F(2.0) F(1。0) T(2。0) T(2。0) F(1.0)A(2.0) D(2。0) D(2。0) B(1.0) D(2.0) A(2。0)B(2。0) A(2。0) A(2。0) A(2。0) C(2.0) BB(2。0) C(3.0) A(2.0) C D(2.0) D(2。0) B2 李文超

T(1.0) C(2.0) D(2.0)

B(2。0) C(2。0) C(2.0)

(2。0) B(2.0) B(2。0)

(2.0) C(2.0)

发布评论

评论列表 (0)

  1. 暂无评论