增量法-插入排序算法

閒暇時間,在看《算法導論》,在此做一點微薄的記錄。

插入排序:僞代碼

INSERTION-SORT(A)

    for j=2 to A.length

        key=A[ j ]

//insert A[ j ] into the sorted sequence A [ 1..j-1 ]

        i=j-1

        while i>0 and A[ i ]>key

            A[ i+1 ]=A[ i ]

            i=i-1

        A[ i+1 ]=key

 

初始化:循環的第一次迭代之前,它爲真。

保持:如果循環的某次迭代之前它爲真,那麼下次迭代之前,它仍爲真。

終止時爲真。

 

然後,分析算法的效率。

在最好情況下,它是n的線性函數

在最壞和平均情況下,它是n的二次函數。n爲輸入規模。

 

該排序設計方式爲增量法,即在排序子數組A[1..J-1]後,將單個元素A[ j ]插入子數組的適當位置,產生排序好的數組A[ 1...j ]

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章