北京航空航天大学计算机学院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的时候,

相关文档
最新文档