2.2 分析算法

来源:互联网 发布:打鼾 治疗 知乎 编辑:程序博客网 时间:2024/04/30 03:13

INSERTION-SORT(A)                                                                                                                    代价        次数

  1. for j = 2 to A.lenth                                       c1     n
  2.     key = A[j]                                             c2     n-1
  3.     //Insert A[j] into the sored sequence A[1..j-i].       0      n-1
  4.     i = j - i                                              c4     n-1
  5.     while i >0 and A[i] >key                               c5    (j=2~n)∑tj        //数学符号难输入 j从2到n,对tj求和
  6.         A[i +1] = A[i]                                     c6    (j=2~n)∑(tj-1)
  7.         i = i - 1                                          c7    (j=2~n)∑(tj-1) 
  8.     A[i + 1] =key                                          c8     n-1
    T(n) = c1n + c2 (n-1)+ c4 (n-1)+ c5(j=2~n)∑tj + c6 (j=2~n)∑(tj-1)+ c7(j=2~n)∑(tj-1) + c8(n-1)

当以最佳(已正序)情况输入 T(n)=(c1+c2+c4+c5+c8)n-(c2+c4+c5+c8)b ,    an+b   它是n的线性函数。

当以最糟(已反序)情况输入T(n) = 1/2(c5+c6+c7)n 2 + (c1+c2+c4+1/2c5-1/2c6-1/2c7+c8)n - (c2+c4+c5+c8),    an 2+bn+c    它是n的二次函数。

0 0
原创粉丝点击