开始研究复杂性,我正在努力解决这个问题:
void what(int n) {
int i;
for (i = 1; i <= n; i++) {
int x = n;
while (x > 0)
x -= i;
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,第一个循环显然是O(n).第一次迭代是O(n),第二次是O(n/2)..而且就像log(n)我猜的那样?这意味着O(n) * O(log(n)) = O(n * log(n)) complexity.我做对了吗?
编辑:(不是重复)我知道Big O是什么.我已经在特定情况下询问了正确的评估.