Algorithm 特殊双For循环的时间复杂度?
所以我刚在考试中被问到这个问题,这让我发疯。问题是: 以下代码的时间复杂度(以n为单位):Algorithm 特殊双For循环的时间复杂度?,algorithm,big-o,time-complexity,Algorithm,Big O,Time Complexity,所以我刚在考试中被问到这个问题,这让我发疯。问题是: 以下代码的时间复杂度(以n为单位): int count = 0; for(int i = 0; i < n; i++) { for(int j = 1; j < n; j = j * 2) { count++; } } int count=0; 对于(int i=0;i
int count = 0;
for(int i = 0; i < n; i++) {
for(int j = 1; j < n; j = j * 2) {
count++;
}
}
int count=0;
对于(int i=0;i
a) O(n对数(n))
b) O(n^2)
我坚信答案是n(log(n)),因为内部循环只运行k次,其中k^2您的推理是正确的,只需在下面对答案进行少量编辑,即
O(n log n)
。答案不可能是O(n^2)
2^k=n
sok=log n
内部循环将运行:logn
times外部循环将运行:
n次
因此,这是O(n log n)
时间复杂性您的推理是正确的,只需在下面对答案进行少量编辑,即O(n log n)
。答案不可能是O(n^2)
2^k=n
sok=log n
内部循环将运行:logn
times
外部循环将运行:n次
因此,这是O(n log n)
时间复杂性您的推理是正确的,只需在下面对答案进行少量编辑,即O(n log n)
。答案不可能是O(n^2)
2^k=n
sok=log n
内部循环将运行:logn
times
外部循环将运行:n次
因此,这是O(n log n)
时间复杂性您的推理是正确的,只需在下面对答案进行少量编辑,即O(n log n)
。答案不可能是O(n^2)
2^k=n
sok=log n
内部循环将运行:logn
times
外部循环将运行:n次
这就是时间复杂度,你已经把它倒过来了<代码>k^2!=n
,而不是2^k=n
nlogn
在我看来是准确的。也就是说,它非常容易测试。运行此代码,并在末尾打印带有一些测试值的count
。这是向后的<代码>k^2!=n
,而不是2^k=n
nlogn
在我看来是准确的。也就是说,它非常容易测试。运行此代码,并在末尾打印带有一些测试值的count
。这是向后的<代码>k^2!=n
,而不是2^k=n
nlogn
在我看来是准确的。也就是说,它非常容易测试。运行此代码,并在末尾打印带有一些测试值的count
。这是向后的<代码>k^2!=n
,而不是2^k=n
nlogn
在我看来是准确的。也就是说,它非常容易测试。运行此代码并在末尾打印带有一些测试值的count
。