第1题
对于队列操作数据的原则是( )。
先进先出
后进先出
后进后出
不分顺序
第2题
表达式a*(b+c)-d的后缀表达式是()。
abcd*+-
-+*abcd
abc*+d-
abc+*d-
第3题
在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。
满,空,n,栈底,两个栈的栈顶在栈空间的某一位置相遇.
空,满,n,栈底, 其中一个栈的栈顶到达栈空间的中心点.
满,空,n+1,深度,两个栈的栈顶在栈空间的某一位置相遇.
空,满,n/2,栈底, 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.
上溢,空,n-1,栈底, 两个栈的栈顶同时到达栈空间的中心点.
第4题
递归函数的递归计算过程借助于数据结构的()实现 。
队列
线性表
广义表
栈
第5题
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为()。
i
n=i
n-i+1
不确定
第6题
栈和队列的共同点是()。
都是后进先出
都是先进先出
只允许在端点处插入和删除元素
没有共同点
第7题
判定一个循环队列Q(最多有m0 个元素采用“少用一个元素空间”来判别队空队满)为满的条件是()。
Q->front= =Q->rear
Q->front!= =Q->rear
Q->front= =! (Q->rear+1)%m0
Q->front = =(Q->rear+1)%m0
第8题
一个递归算法必须包括( )。
递归部分
终止条件和递归部分
迭代部
终止条件和迭代部分
第9题
用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
仅修改队头指针
仅修改队尾指针
队头、队尾指针都要修改
队头、队尾指针都可能要修改
第10题
递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。
多维数组
第11题
消除递归不一定需要使用栈,此说法对吗? ( )
对
错
第12题
两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。( )
第13题
有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)]。( )
第14题
栈与队列是同一种特殊操作的线性表。
第15题
若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1.
第16题
只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。( )
第17题
栈是一种插入与删除操作在表的一端进行的线性表,是一种先进后出型结构。( )
第18题
队列逻辑上是一个下端和上端既能增加又能减少的线性表。( )
第19题
循环队列可以用顺序结构存储也可以用链式存储结构实现。( )
第20题
栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。( )
选择题(1 - 20题,共计100分)