1-1
通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。
F
1-2
若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。
F
1-3
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}.
T
1-4
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。
F
1-5
在用数组表示的循环队列中,front值一定小于等于rear值。
F
1-6
In a circular queue which is implemented by an array, the front value must always be no larger than the rear value.
F
2-1
若已知一队列用单向链表表示,该单向链表的当前状态(含3个对象)是:1->2->3,其中x->y表示x的下一节点是y。此时,如果将对象4入队,然后队列头的对象出队,则单向链表的状态是:
A.1->2->3
B.2->3->4
C.4->1->2
D.答案不唯一
B
2-2
循环顺序队列中是否可以插入下一个元素()。
A.与队头指针和队尾指针的值有关
B.只与队尾指针的值有关,与队头指针的值无关
C.只与数组大小有关,与队首指针和队尾指针的值无关
D.与曾经进行过多少次插入操作有关
A
2-3
给定一个堆栈的入栈序列为{ 1, 2, ⋯, n },出栈序列为{ p1, p2 , ⋯, pn}。如果p2 =n,则存在多少种不同的出栈序列?
A.1
B.2
C.n−1
D.n
C
2-4
二叉树的中序遍历也可以循环地完成。给定循环中堆栈的操作序列如下(其中push为入栈,pop为出栈):
push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()
以下哪句是对的?
A.6是根结点
B.3和5是兄弟结点
C.2是4的父结点
D.以上全不对
B (?)
2-5
下列关于栈的叙述中,错误的是:
1.采用非递归方式重写递归程序时必须使用栈
2.函数调用时,系统要用栈保存必要的信息
3.只要确定了入栈次序,即可确定出栈次序
4.栈是一种受限的线性表,允许在其两端进行操作
A.仅 1
B.仅 1、2、3
C.仅 1、3、4
D.仅 2、3、4
作者
C
1:计算斐波拉契数列迭代只要一个循环即可