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

时间:2019-02-10 03:17:30

标签: algorithm time-complexity

您能告诉我循环的时间复杂度是多少,似乎是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

sum = 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)???正确吗?

1 个答案:

答案 0 :(得分:0)

Hanjoung mentions in a comment

  

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

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