k=0;while(n>=1) //设n为2^t{for(j=1;j<=n;j++) { k=k+1; n=n/2; }}
答案:内层循环:2^t<=n,t<=log2n,外层循环:1T(n)=T1(n)*T2(n)=O(log2n)*O(1)=O(log2n)
我一般遇到这种时间复杂度的问题,就是笨笨的想:代码块,它会执行的次数。