回答

0

對於固定公式,最佳,平均和最差情況是相同的。的複雜性將是

  • 2n² ∈ Θ(n²)
  • 3⋅log₂(n) ∈ Θ(log n)
  • 2n² + 10n ∈ Θ(n²)

算法可以有最好的情況複雜,這取決於輸入。 例如看看冒泡排序。

Input: A[0..n-1] 

switched = false; 
for(i = 0; i < n; i++) 
{ 
    switched = false; 
    for(j = 0; j < n-i-1; j++) 
    { 
     if(A[j] > A[j+1]) 
     { 
     switch(A,j,j+1); 
     switched = true; 
     } 
    } 

    if(!switched) 
     break; 
} 

最壞的情況是一個很大的,其導致的O(n²)複雜小排序列表。但是,如果您的輸入是一個小到大的排序列表,該算法只執行一次內部for循環,並且由於它不需要切換元素,算法會終止。這爲您提供了最佳的案例複雜度O(n)