2020數據結構-排序算法之歸併排序、基數排序

一、歸併排序和基數排序

1.歸併排序

  • 基本思想
    歸併算法的中心是歸併兩個已經有序的數組。歸併兩個有序數組A和B,就生成了第三個數組C,數組C包含數組A和B的所有數據項,並且使它們有序的排列在數組C中。

  • 舉例
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 效率分析
    空間:O(n)
    時間:每趟歸併的時間複雜度爲O(n),共需進行log2n(向上取整)趟歸併,所以時間複雜度爲O(nlog2n)。
    穩定性:穩定。

2.基數排序

  • 基本思想
    基數排序的總體思路就是將待排序數據拆分成多個關鍵字進行排序,也就是說,基數排序的實質是多關鍵字排序。
    基數排序的思想就是將待排數據中的每組關鍵字依次進行桶分配。

  • 舉例
    在這裏插入圖片描述

  • 效率分析
    空間:O®(一趟排序需要輔助存儲空間爲r)
    時間:需要進行d趟分配和收集,一趟分配需要O(n),一趟收集需要O®,時間複雜度爲O(d(n+r)),與序列初始狀態無關。
    穩定性:按位排序必須是穩定的。

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