如何找到以下程序片段的时间复杂度?

时间:2016-02-04 01:45:27

标签: java big-o time-complexity

对于以下程序片段,您将(a)写下每个程序语句完成的总工作(在每个语句旁边),(b)计算总时间复杂度的表达式,T(n)并导出大的哦复杂性,显示最终答案的所有步骤。我开始时遇到很多麻烦。

for ( i = 0; i < n; i++) {

  for ( j = 0; j < 1000; j++) {

    a[ i ] = random(n) // random() takes constant time

    }

}

1 个答案:

答案 0 :(得分:-1)

int sortedArray [];

for ( i = 0; i < n; i++) {

  for ( j = 0; j < i; j++) {

    readArray(a) // reads in an array of n values

    sortedArray = sort(a) // sort() takes n log n operations

    }

}

我也有这个问题。在第二行我有&#39; n&#39;,第三行我有n ^ 2,第四行我有n,而在第五行我有n log n。对于我的时间复杂度,我有O(n ^ 2)。