[英]How the time complexity of the following code is O(n)?
做实际的数学运算:
T(N) = N + N/2 + N/4 + ... + 1 (log_2 N terms in the sum)
这是比率为1/2
的几何级数,所以总和等于:
T(N) = N*[1 - (1/2)^(log_2 N)] / (1 - 1/2) =
= [N - N/(2^log_2 N)] / 0.5 =
2^log_2 N = N
= (N - 1) / 0.5
所以T(N)
是O(N)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.