算法就是一系列的計算步驟,用來將輸入數據轉換爲輸出結果。
數據結構師存儲和組織數據的一種方式,以便於對數據進行訪問和修改。
插入排序算法,對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