)
i=1
①
while
(i<=n)
i=i*2
②
解:
语句1的频度是1,
设语句2的频度是f(n),
则:2^f(n)<=nf(n)<=log2n
取最大值f(n)=
log2n,
T(n)=O(log2n
)
-------------------------------------------*来源于百
度*---------------------------------------
///////////////////////////////////////////////////////////////////////
修正下:O(log
N),以免和常用对数混淆
底是多少无关紧要,可以用换底公式换掉
log2N
=
logxN
/
logx2
logx2是个常数,可以被忽略
可以。所有for循环都可以用while循环改写。
for循环一般针对循环变量和每次循环后对循环变量 *** 作比较简单的场景,写出来的循环比较简洁,循环过程如何控制一目了然。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)