嵌套循环的时间复杂度

时间:2014-03-18 22:19:24

标签: time-complexity

这是一个嵌套的for循环。我计算出时间复杂度为nlg(n)。

 int sum = 0;
 for(int k = 1; k < n; k*=2){
     for(int i = 1; i < n; i++){
            sum++;
     }
 }

我的想法如下。

  1. 外部for循环:k将取值1,2,4,8 ......因此它将需要lg(n)迭代。
  2. 内部for循环:i将进行n次迭代。
  3. 因此,所采取的整体操作将为nlg(n)。

    我是对的吗?

1 个答案:

答案 0 :(得分:0)

是的,您建议的增长顺序是正确的。您可以像下面这样显示它:

enter image description here