算法導論—讀書筆記2010.12.6

算法就是一系列的計算步驟,用來將輸入數據轉換爲輸出結果。

 

數據結構師存儲和組織數據的一種方式,以便於對數據進行訪問和修改。

 

插入排序算法,對n個數據項的時間大約是c1n^2,其中c1是一個不依賴於n的常量。亦即該算法所需的時間大致與n^2成正比。

 

合併排序算法,排序n個數據項的時間大約是c2log(2)(n)

 

通常有c1<c2,輸入規模對運行時間的影響比常量因子要大。較小規模時,插入排序比合並排序要快,但n變的足夠大後,合併排序就比插入快,並且隨着n的增多,合併排序的相對優勢越來越明顯。

 

插入排序

INSERTION-SORT(A)       

for j <-- 2 to length(A)

  do key <-- a[j]

       i <-- i-1

       while i > 0 and a[i] > key

           do A[i+1] <-- a[i]

                i <-- i-1

       a[i+1] <-- key

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