这个循环的时间复杂度是多少
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)
这应该是你的循环的复杂度。
我们如何找到这个循环的时间复杂度
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)
这应该是你的循环的复杂度。