互動排序演算法教學
← 回到首頁尚未開始
合併排序採用分治法,先將陣列一分為二、遞迴排序左右兩半,最後再將兩個已排序子陣列合併。
偽代碼:
MERGE-SORT(A, l, r)
if l < r
m = floor((l+r)/2)
MERGE-SORT(A, l, m)
MERGE-SORT(A, m+1, r)
MERGE(A, l, m, r)
複雜度:最佳/平均/最壞皆 O(n log n)、空間 O(n)
優點:穩定且效能穩定,適合大資料;缺點:需要額外記憶體,實作較複雜。