Big o 嵌套for循环的时间复杂度?

Big o 嵌套for循环的时间复杂度?,big-o,time-complexity,Big O,Time Complexity,这个问题是为了修改过去的试卷,只是想知道我是否做对了 我是新来的,所以我在回答更复杂的问题时有点困难。这是其中之一 如果有人能详细说明这一点,我将非常感激。。。 所以我必须找出这段代码的复杂性 cout = 0; for(int i=1 ; i<=n ; i*=3) for(int j=1 ; j<=i; j++) for(int k=1 ; k<=n ; k++) count++; cout=0; 对于(int i=1;i第二个循环的迭

这个问题是为了修改过去的试卷,只是想知道我是否做对了

我是新来的,所以我在回答更复杂的问题时有点困难。这是其中之一

如果有人能详细说明这一点,我将非常感激。。。 所以我必须找出这段代码的复杂性

cout = 0;
for(int i=1 ; i<=n ; i*=3)
   for(int j=1 ; j<=i; j++)
      for(int k=1 ; k<=n ; k++)
          count++;
cout=0;

对于(int i=1;i第二个循环的迭代次数为 $$1+3+9+…+m$$
其中$m$约为$n$。这等于$\Theta(n)$。然后最里面的循环是θ(n)的另一个因子。因此$\Theta(n^2)$。

确定算法时间复杂度的正式方式:


我本以为它是O(n^3)。当I=0时,复杂度是O(n^2),但当I=n时,复杂度是O(n^3)。我想k应该初始化为0。
I
在上面使用的意义上不等于
0
n
,毕竟它是循环变量。是的……犯了一个错误……更正了:)谢谢