北京航空航天大学计算机学院961计算机学科专业基础综合2014年真题及详解
2014年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解
一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是符合题目要求的。
1.下列程常段的时间复杂度是()
count=0;
for(k=1;k<=n;k*2)
for(j=1;j<=n;j+1)
count++;
A.O(log
2
n)
B.O(n)
C.O(nlog
2
n)
D.O(n2)
【答案】C
【解析】外部循环的退出条件是k>n,而对于k,每次循环都执行k=k*2,所以循
环次数为log
2
n;内部循环的退出条件是j>n,对于j,每次循环都执行j=j+1,所
以每次循环次数为n次。所以此程序段的时间复杂度为O(nlog
2
n),即选C。
2.假设栈初始为空,
将中缀表达式转换为等价后缀表达式的过程中,当扫描到f时,栈中的元素依次是()
A.
B.
C.
D.
【答案】B
【解析】中缀表达式转后缀表达式遵循以下原则:
(1)遇到操作数,直接输出;
(2)栈为空时,遇到运算符,入栈;
(3)遇到左括号,将其入栈;
(4)遇到右括号,执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,
左括号不输出;
(5)遇到其他运算符'+''-''*''/'时,弹出所有优先级大于或等于该运算符的栈顶
元素,然后将该运算符入栈;
(6)最终将栈中的元素依次出栈,输出。
所以扫描到’/’,入栈‘描到’+’,由于’+’优先级比’/’低,所以将’/’弹出,’+’入栈;扫描到’*’,优先级比’+’高,入栈;扫描到’(‘,入栈;扫描到’-‘,将栈中优先级更高的’*’弹出,‘-’入栈;扫描到’*’,优先级比’-‘高,入栈。所以扫描到f的时候,
相关主题