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)