一、歸併排序和基數排序
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)),與序列初始狀態無關。
穩定性:按位排序必須是穩定的。