《数据结构第三章考试题库(含答案).doc》由会员分享,可在线阅读,更多相关《数据结构第三章考试题库(含答案).doc(36页珍藏版)》请在金锄头文库上搜索。
1、第3章栈和队列一选择题1.对于栈操作数据的原则是()。【青岛大学2001五、2(2分)】A.先进先出B.后进先出C.后进后出D.不分顺序2.在作进栈运算时,应先判别栈是否(),在作退栈运算时应先判别栈是否()。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当()时,才产生上溢。,: A.空B.满C.上溢D.下溢: A. n-1B. nC. n+1D.n/2: A.长度B.深度C.栈顶D.栈底: A.两个栈的栈顶同时到达栈空间的中心点.B.其中一个栈
2、的栈顶到达栈空间的中心点.C.两个栈的栈顶在栈空间的某一位置相遇.D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.【上海海运学院1997二、1(5分)】【上海海运学院1999二、1(5分)】3.一个栈的输入序列为123n,若输出序列的第一个元素是n,输出第i(1=i0) ? x* f(x-1):2);int i;i =f(f(1);A2B. 4C. 8D.无限递归19.表达式a*(b+c)-d的后缀表达式是()。【南京理工大学2001一、2(1.5分)】Aabcd*+-B. abc+*d-C. abc*+d-D. -+*abcd20.表达式3* 2(4+2*2-6*3)-5求值过程中当扫描
3、到6时,对象栈和算符栈为(),其中为乘幂 。A. 3,2,4,1,1;(*(+*-B. 3,2,8;(*-C. 3,2,4,2,2;(*(-D. 3,2,8;(*(-【青岛大学2000五、5(2分)】21.设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。A线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈【西安电子科技大学1996一、6(2分)】22.用链接方式存储的队列,在进行删除运算时()。【北方交通大学2001一、12(2分)】A.仅修改头指针B.仅修改尾指针C.头、尾指针都要修改D.头、尾指针可能都要修改23.用不带头结点的单链表存储队列时,其队头指针指
4、向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。【北京理工大学2001六、3(2分)】A仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都要修改D.队头,队尾指针都可能要修改24.递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。A队列B多维数组C栈D.线性表【福州大学1998一、1(2分)】25.假设以数组Am存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。【北京工商大学2001一、2(3分)】A(rear-front+m)%mBrear-front+1C(front-rear+m)%mD(rear-front)%m2
5、6.循环队列A0.m-1存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。【南京理工大学2001一、5(1.5分)】A. (rear-front+m)%mB. rear-front+1C.rear-front-1D.rear-front27.循环队列存储在数组A0.m中,则入队时的操作为()。【中山大学1999一、6(1分)】A. rear=rear+1B. rear=(rear+1) mod (m-1)C. rear=(rear+1) mod mD. rear=(rear+1)mod(m+1)28.若用一个大小为6的数组来实现循环队列,且当前rear和fro
6、nt的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?()【浙江大学1999四、1(4分)】A.1和5B.2和4C.4和2D.5和129.已知输入序列为abcd经过输出受限的双向队列后能得到的输出序列有()。A. dacbB. cadbC. dbcaD. bdacE.以上答案都不对【西安交通大学1996三、3 (3分)】30.若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是()。【西安电子科技大学1996一、5(2分)】A. 1234B. 4132C. 4231D. 421331.最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。A. (rear+1) MOD n=frontB. rear=frontCrear+1=f