泡泡排序的复杂性

Dee*_*mar 8 java sorting algorithm time-complexity

我在很多地方看到过,冒泡排序的复杂性是O(n 2).

但是怎么会这样呢,因为内环应该总是运行ni次.

for (int i = 0; i < toSort.length -1; i++) {
            for (int j = 0; j < toSort.length - 1 - i; j++) {
                if(toSort[j] > toSort[j+1]){
                    int swap = toSort[j+1];
                    toSort[j + 1] = toSort[j];
                    toSort[j] = swap;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

alf*_*sin 7

什么是"平均"价值n-in/2

所以它运行在O(n*n/2)其中被认为是O(n 2)

  • @DeepakKumar,因为当你处理规模时它没有任何意义.大O符号涉及规模.你会认为O(n)与O(n-1)不同吗?即使n!= n-1,它们也具有相同的比例.同样适用于`n/2`和`n`. (2认同)