题目源于25王道数据结构:
主要明确次数和n的关系!!
三道题进行类比:
第一题 i=1时最内层执行2乘1次,i=2时执行2乘2次,以此类推i=n时执行2乘n次。总的执行次数为2(1+2+3+……+n),等差数列求和结果为n(n+1)。A
第二题 执行i次的和为0+1+2+……i=(i+1)i/2,终止条件为这个和小于n,所以次数i为n平方根量级。B
第三题 i=1时执行1次,i=2时执行2次,i=4时执行4次,总的执行次数为1+2+4+…2^t。 等比数列求和2^t+1-1 次,2^t=n所以为2n-1次。B
两道题进行类比,递归看作多重循环,两个的最内层都为if(n<=1) return 1;。第一个的外层执行次数(也就是递归的次数)为log2n次,第二个外层执行n次。所以为C、B。
最内层执行n次,最外层k执行log2n次,结果为C。