Avr*_*ber -3 c big-o time-complexity
int i = 1;
while (i < n/2)
{
i = i * 2;
int j = i;
while (j > 1)
--j;
}
Run Code Online (Sandbox Code Playgroud)
O(n)
:
外循环运行logn
次数,在每次迭代中:i = 1,2,4,8,... n/4(入口值)
内循环运行2*i
次数(入口值)
所以总体来说你得到:2+4+8+...+n/2 = n-2 = O(n)