这个循环的时间复杂度是多少

What is the time complexity for this loop

我们如何找到这个循环的时间复杂度

int c = 0;
int j = 1;
while (j< n^3) {
  c+=1;
  System.out.println(c);
  j=j*4;
}

因为每次 j 乘以 4 我们可以说在每次迭代后它可以写成:

1, 4, (4^2), ..., (4^k)

现在 for 循环为假,(4^k) >= n^3

4^k >= n^3
k = log(n^3) to the base 4

您可以进一步简化为:

3log(n) to base 4 并删除 3,就像我们对常量所做的那样。

k = log(n)

这应该是你的循环的复杂度。