数据结构5 栈和队列

1-1

分数 2

作者 DS课程组单位 浙江大学

Run the following operations on a stack S: Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S). The output sequence must be {1, 2, 3}.

在堆栈S上运行以下操作:Push(S,1)、Push(S,2)、Pop(S)、Push(S,3)、Pop(S)和Pop(S)。输出序列必须为{1,2,3}。

T

F


1-2

分数 2

作者 徐镜春单位 浙江大学

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

如果按顺序{1,2,3,4,5}将键推到堆栈上,则不可能获得输出序列{3,4、1,2、5}。

T

F


1-3

分数 1

作者 李廷元单位 中国民用航空飞行学院

在n个元素连续进栈以后,它们的出栈顺序和进栈顺序一定正好相反。

T

F


1-4

分数 2

作者 干红华单位 浙江大学

Given that the pushing sequence of a stack is { 1, 2, ⋯, n } and popping sequence is { x1,x2,⋯,xn }. If x2=n, we can obtain n−1 different possible popping sequences.

给定堆栈的推送序列是{1,2,…,n},弹出序列是{x1,x2,…,xn}。如果x2=n,我们可以获得n−1个不同的可能弹出序列。

T

F


1-5

分数 2

作者 ZXM单位 西南石油大学

栈是一种特殊的线性表,它的插入和删除操作都是在表的同一端进行。

T

F


1-6

分数 2

作者 陈越单位 浙江大学

Recursive programs are generally faster than equivalent non recursive programs. However, non recursive programs are in general much simpler and easier to understand.

递归程序通常比等效的非递归程序更快。然而,非递归程序通常更简单,更容易理解。

T

F


1-7

分数 1

作者 朱晓龙单位 西安邮电大学

链栈和顺序栈相比,比较明显的优点是通常不会出现栈满的情况。

T

F


1-8

分数 1

作者 朱晓龙单位 西安邮电大学

链栈的插入在栈顶,删除在栈底。

T

F


1-9

分数 1

作者 DS课程组单位 浙江大学

所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。

T

F


1-10

分数 1

作者 DS课程组单位 浙江大学

"Circular Queue" is defined to be a queue implemented by a circularly linked list or a circular array.

“循环队列”被定义为由循环链接列表或循环数组实现的队列。

T

F


1-11

分数 1

作者 Martin Ester单位 浙江大学

An algorithm to check for balancing symbols in an expression uses a queue to store the partial expression.

检查表达式中符号平衡的算法使用队列来存储部分表达式。

T

F


1-12

分数 2

作者 林华单位 广东外语外贸大学

不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑"溢出"情况。

T

F


1-13

分数 1

作者 李廷元单位 中国民用航空飞行学院

若采用“队首指针和队尾指针的值相等”作为环形队列为空的标志,则在设置一个空队时只需将队首指针和队尾指针赋同一个值,不管什么值都可以。

T

F


1-14

分数 1

作者 DS课程组单位 西南石油大学

队列中允许插入的一端叫队头,允许删除的一端叫队尾。 ~@

T

F


1-15

分数 2

作者 fengyan单位 浙江大学

In most restaurants, we follow one principle called "First come, first served". This principle can be implemented by a queue.

在大多数餐馆,我们遵循一个叫做“先到先得”的原则。这个原理可以通过队列来实现。

T

F


2-1

分数 3

作者 DS课程组单位 浙江大学

Let P stands for push and O for pop. When using a stack to calculate the value of the postfix expression 1 2 3 + * 4 –, the stack operation sequence is:

让P代表push,O代表pop。使用堆栈计算后缀表达式1 2 3+*4–的值时,堆栈操作序列为:

A.PPPOOPOO

B.PPOOPPOOPPOO

C.PPPOOPOOPPOO

D.PPPOOPOOPPOOPO


2-2

分数 2

作者 DS课程组单位 浙江大学

设栈S和队列Q的初始状态均为空,元素{1, 2, 3, 4, 5, 6, 7}依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是{2, 5, 6, 4, 7, 3, 1},则栈S的容量至少是:

A.1

B.2

C.3

D.4


2-3

分数 2

作者 严冰单位 浙大城市学院

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

A.插入操作更加方便

B.通常不会出现栈满的情况

C.不会出现栈空的情况

D.删除操作更加方便


2-4

分数 2

作者 李廷元单位 中国民用航空飞行学院

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

A.1

B.3

C.5

D.1或者5


2-5

分数 2

作者 王东单位 贵州师范学院

已知操作符包括+、-、*、/、(、)。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。

A.5

B.7

C.8

D.11


2-6

分数 2

作者 陈燕晖单位 湖南科技大学

若一个栈以向量V[1..n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是( )。

A.top++; V[top]=x;

B.V[top]=x; top++;

C.top--; V[top]=x;

D.V[top]=x; top--;


2-7

分数 2

作者 朱晓龙单位 西安邮电大学

向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行( )操作。

A.h->next=s ;

B.s->next=h ;

C.s->next=h ;h =s ;

D.s->next=h->next ;h->next=s ;


2-8

分数 2

作者 朱晓龙 周晶晶单位 西安邮电大学

输入序列为ABC,可以变为CBA时,经过的栈操作为( )。

A.push,pop,push,pop,push,pop

B.push,push,push,pop, pop, pop

C.push,push,pop, pop,push,pop

D.push,pop,push,push,pop, pop


2-9

分数 2

作者 陈越单位 浙江大学

Given the popping sequence of a stack as { 1, 2, 3, 4, 5, 6 }. Among the following, the impossible pushing sequence is:

给定堆栈的弹出顺序为{1,2,3,4,5,6}。以下是不可能的推送顺序:

A.3 2 1 6 5 4

B.6 5 1 2 3 4

C.6 5 4 1 2 3

D.4 6 5 1 3 2


2-10

分数 3

作者 fengyan单位 浙江大学

The following list is a series of operations for a stack:

  • push 1

  • push 2

  • push 3

  • pop

  • pop

  • push 4

  • push 5

  • pop

  • push 6

  • push 7

  • pop

  • pop

  • pop

  • push 8

  • pop

  • push 9

  • pop

  • pop

Which is the correct pop-up sequence?

哪个是正确的弹出顺序?

A.1 2 3 4 5 6 7 8 9

B.9 8 7 6 5 4 3 2 1

C.3 2 5 7 6 4 8 9 1

D.3 2 5 7 4 6 9 8 1


2-11

分数 1

作者 张泳单位 浙大城市学院

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

A.dcebfa

B.cbdaef

C.bcaefd

D.afedcb


2-12

分数 2

作者 严冰单位 浙大城市学院

设一数列的顺序为1,2,3,4,5,6,通过队列操作可以得到( )的输出序列。

A.3,2,5,6,4,1

B.1,2,3,4,5,6

C.6,5,4,3,2,1

D.4,5,3,2,6,1


2-13

分数 2

作者 严冰单位 浙大城市学院

在由n个元素组成的顺序存储的循环队列sq中,假定f和r分别为队头指针和队尾指针,则判断队满的条件是( )。

A.f ==(r+1)%n

B.(r - 1)%n==f

C.f == r

D.(f + 1)%n == f


2-14

分数 2

作者 严冰单位 浙大城市学院

用单链表表示的链队的队头在链表的()位置。

A.链头

B.链尾

C.链中

D.均可以


2-15

分数 2

作者 鲁法明单位 山东科技大学

A.2

B.3

C.4

D.5


2-16

分数 2

作者 考研真题单位 浙江大学

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

A.1, 2, 5, 6, 4, 3

B.2, 3, 4, 5, 6, 1

C.3, 4, 5, 6, 1, 2

D.6, 5, 4, 3, 2, 1


2-17

分数 2

作者 陈翔单位 浙江大学

Following is the C-like pseudo code of a function that takes a Queue as an argument.

下面是一个函数的类C伪代码,该函数以Queue作为参数。

void foo(Queue Q)
{
    Stack S = CreateStack();  // create an empty stack

    while (!IsEmpty(Q))
    {
        // dequeue an item from Q and push it into S
        Push(S, Dequeue(Q));
    }

    while (!IsEmpty(S))
    {
        // pop an item from S and enqueue it into Q
        Enqueue(Q, Pop(S));
    }

    DisposeStack(S);
}

What does the above function do?

上面的功能是什么?

A.Removes the last item from Q

从Q中删除最后一项

B.Keeps Q unchanged

保持Q不变

C.Makes Q empty

使Q为空

D.Reverses Q

反转Q


2-18

分数 2

作者 王东单位 贵州师范学院

用链接方式存储的队列,在进行删除运算时( )。

A.仅修改头指针

B.仅修改尾指针

C.头、尾指针都要修改

D.头、尾指针可能都要修改


2-19

分数 1

作者 qin单位 中国人民解放军海军工程大学

2、下列与队列结构有关联的是

A.函数的递归调用

B.数组元素的引用

C.多重循环的执行

D.先到先服务的作业调度


2-20

分数 2

作者 朱晓龙 周晶晶单位 西安邮电大学

一个队列的入队序列是1,2,3,4,则队列的输出序列是( ) 。

A.4,3,2,1

B.1,2,3,4

C.1,4,3,2

D.3,2,4,1


2-21

分数 2

作者 考研真题单位 浙江大学

已知初始为空的队列 Q 的一端仅能进行入队操作,另外一端既能进行入队操作又能进行出队操作。若 Q 的入队序列是 1、2、3、4、5,则不能得到的出队序列是:

A.5、4、3、1、2

B.5、3、1、2、4

C.4、2、1、3、5

D.4、1、3、2、5


2-22

分数 1

作者 张泳单位 浙大城市学院

设循环队列的存储空间为a[0..20],且当前队头指针和队尾指针的值分别为8和3,则该队列中元素个数为( )

A.5

B.6

C.16

D.17


2-23

分数 1

作者 张泳单位 浙大城市学院

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

A.1和5

B.2和4

C.4和2

D.5和1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值