3
我认为下面代码的时间复杂度是O(log N),但答案是O(N)
。我不知道为什么:时间复杂度:O(logN)或O(N)?
int count = 0;
for (int i = N; i > 0; i /= 2) {
for (int j = 0; j < i; j++) {
count += 1;
}
}
对于内部件for循环,它运行很多次: N + N/2 + N/4 ...
这似乎是logN
我。请帮我理解为什么在这里。谢谢
你碰巧知道谐波总和增长的顺序是什么? –