2014 408
1
count=0;
for(k=1;k<=n;k++)
for(j=1;j<=n;j++)
count++;
这段代码的程序复杂度为:O(nlog2n)
内层循环条件j<=n与外层循环的变量无关,每次循环j自增1,每次内循环都执行n次,外层循环条件为k<=n,增量定义为k*=2,即k<=log2n。所以内层循环的时间复杂度是O(n),外层循环的时间复杂度为O(log2n)。对于嵌套循环,根据乘法规则可知,该段程序的时间复杂度T(n)=T1(n)T2(n)=O(n)O(log2n)=O(nlog2n)。
2
假设栈初始为空,将中缀表达式a/b+(cd-ef)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素分别是。
以中缀表达式a+b为例,其后缀表达式为ab+
如果用栈将中缀表达式转换成后缀表达式的话。
1遇到操作数的时候,就直接将其输出
2如果遇到操作符,我们将其放入栈中
3如果遇到一个右括号,则将栈里的操作符弹出,一直输出操作符直到遇到左括号为止。
4当输入的操作符优先级较低,比如栈中原本有一个/号,现在往栈中加入一个+号,这时候就要将/输出,将+号输入栈。
3
什么是堆积现象?
线性探测法可能使第i个散列地址的同义词存入第i+1个散列地址