【2012年第1题】求整数n(n≧0)阶乘的算法如下,其时间复杂度是( )。fact(int n){if(n<=1) return;else return(n*fact(n-1));}
A. O(log ₂n)
B. O(n)
C. (nlog ₂n)
D. O(n ²)
查看答案
【2012 年第 2题】操作符包括‘+‘,’-’,’*’,’/’,和’(’,')’。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符,若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A. 5
B. 7
C. 8
D. 11
【2013年第2题】一个栈的人栈序列为1,2,3,...,n,其出栈序列是p ₁,p ₂,p ₃,...,Pn。若p ₂=3,则p ₃可能取值的个数是( )。
A. n-3
B. n-2
C. n-l
D. 无法确定
【2014 年第 2题】假设栈初始为空,将中缀表达式a/b+(c*d-e*f)/g 转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是( )。
A. +(*-
B. +(-*
C. /+(*-*
D. /+-*
【2014年第3题】循环队列放在一维数组A[0...M-中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是( )
A. 队空:end1==end2;队满:end1==(end2+1)mod M
B. 队空:end1==end2;队满:end2==(end1+1)mod(M-1)
C. 队空:end2==(end1+1)modM;队满:end1==(end2+1)mod M
D. 队空:end1==(end2+1)modM;队满:cnd2==(end1+1)mod(M-1)