时间复杂度计算

例题1:

时间复杂度计算
步骤:

一:确定循环的终止条件:i<=n(i是循环变量,n是问题规模)

二:确定循环变量是怎么增加的:i=i*2(这里是倍乘,每次都是自己的翻倍)

三:假设执行了t次(t即为要求的时间复杂度),t次后循环变量的值i变为了:i=1*(2^t)

四:把i的值代入到步骤一的不等式中去,即:1*2^t=n,计算得 t=log2(n),所以选D

延伸1:假如i的初值为a
延伸2:假如n改为n^b
延伸3:假如2改为c
对比之前只是常数背的影响(可忽略),则最终仍然是选D。

时间复杂度计算

得出结论:

时间复杂度计算

得出推论:

时间复杂度计算

推论证明过程:

时间复杂度计算

例题2:

时间复杂度计算

进行简单变换:

时间复杂度计算

根据上面的步骤得:

一:sum<n
二:i=i+1,sum=sum+i
三:t次后,i=t,sum=1+2+…+t=t
(t+1)/2
四:t
(t+1)/2=n,忽略常数倍,得t^2=n,即t等于n的1/2次幂,即选B。**