第三章
设abcdef以所给次序进栈,若在进栈操作时允许退栈,则下列得不到的序列为()
bcafed  
fedcba  
cabdef
答案:cabdef
若已知一个栈的进栈序列是1,2,3……n,其输出序列是p1,p2,p3,pn,若p1=3,则p2为()假定循环队列的队首和队尾指针分别为front和rear,则判断队满的条件为( )。
front+1 = = rear      
front = = 0     
front= =rear队列和栈都是运算受限的线性表,只允许在表的两端进行运算。循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
rear-front-1    
rear-front
(rear-front+m)%m不论栈是用数组实现,还是用链表实现,入栈和出栈的时间复杂度均为O(n)。若栈采用顺序存储方式存储,两栈共享空间A[1..m],top[i]代表第i个栈(i=1,2)的栈顶,栈1的底在A[1],栈 2的底在A[m],则栈满的条件是()。
 top[1]+1=top[2]

top[1]+top[2]=m 

|top[2]-top[1]|=0  
输入序列为ABC,若出栈的顺序为CBA时,经过的栈操作为( ) 。
push,push,push,pop,pop,pop
push,push,pop,pop,push,pop
push,pop,push,pop,push,pop    链栈与顺序栈相比,有一个比较明显的优点是( )。
通常不会出现栈满的情况
 插入操作更方便 
删除操作更方便设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
线性表的链式存储结构
队列   某队列允许在其两端进行入队操作,但只允许在一端进行出队操作,若有元素a, b, c, d, e依次入队后再进行出队操作,则不可能得到的出队序列是()。有如下递归算法:intfact(intn){//n大于等于0if(n<=0)return1;elsereturnn*fact(n-1);}则计算fact(n)需调用该函数的次数是()。设有一个递归算法如下 int fact(int n) { //n大于等于0 if(n<=0) return 1; else return n*fact(n-1); }则计算fact(n)需要调用该函数的次数为( )。( )的一个重要应用是在程序设计语言中实现递归。通常使用队列来处理函数或过程的调用。栈和队列的存储方式,既可以是顺序方式,又可以是链式方式若已知一队列用单向链表表示,该单向链表的当前状态(含3个对象)是:1->2->3,其中x->y表示x的下一节点是y。此时,如果将对象4入队,然后队列头的对象出队,则单向链表的状态是:(  )。

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部