1. 程式人生 > >[Data Structure & Algorithm] 歸併排序

[Data Structure & Algorithm] 歸併排序

歸併排序

  • 將兩個排好序的序列合併成一個有序的序列
  • 基本思路
    • 兩個輸入序列A和B,一個輸出序列C
    • 比較A和B中同位置的值,將較小的值存入C中
    • 直到A和B中任何一個到達末尾,將另一個序列剩餘的所有元素存入C中
  • 時間複雜度 - O(nlog2n)
  • 缺點 - 效能較差
    • 需要將資料複製到臨時陣列,還需要複製回來
  • 優點
    • 比快速排序穩定
    • 是大多數外排序演算法的基礎

m路平衡歸併

  • 將m個有序表組合成一個新的有序表
  • 每一次歸併後,剩下的記錄是原來的1/m,直到剩下一條記錄