如何计算时间复杂度?

时间:2016-07-08 14:53:04

标签: data-structures time-complexity

我已经完成了计算时间复杂度的一些基本概念。我想知道后面的代码的时间复杂性。

我认为时间复杂度为O(log 3 n * n 2 )。它可能仍然是错的,我想知道确切的答案以及如何达到同样的目的。谢谢:)

  function(int n){
     if(n == 1) return;
     for(int i = 1; i <= n; i++)
        for(int j = 1; j <= n; j++)
           printf("*");
     function(n-3);
  }

1 个答案:

答案 0 :(得分:4)

两个带 n 次迭代的嵌套循环给出 O(n ^ 2)。递归为 O(n) -time调用函数本身,因为它减少了常量3的 n ,因此它被称为 n / 3 + 1 = O(n)次。总的来说,它是 O(n ^ 3)

如果使用 n / 3 的值调用函数,结果中的对数常量将是。