繁体   English   中英

依赖嵌套循环的时间复杂度是多少?

[英]what's the time complexity of dependent nested loop?

你能告诉我循环的时间复杂度是多少,似乎是O(n ^ 2),但我不知道为什么。

int k=0;
for(int i = n / 2; i <= n; i++){
    for(j = 0; j <= i; j++){
        k++;
    }
}
  • n / 2个
  • n / 2 + 1
  • n / 2 + 2 ...
  • n / 2 + n / 2

和= n / 2 +(n / 2 +1)+(n / 2 +2)+ ... +(n / 2 + n / 2)=(n / 2 * n / 2)+(1 + 2 + ... + n / 2)+ n / 2 = 3/8 n ^ 2 + 3/4 n

所以时间复杂度是O(n ^ 2)??? 这是正确的吗?

正如韩jo在评论中提到的那样

是的,它是O(n^2) nit-外循环的第一次迭代循环n/2+1

O(n ^ 2)是正确的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM