一、归并排序和基数排序

1.归并排序

  • 基本思想
    归并算法的中心是归并两个已经有序的数组。归并两个有序数组A和B,就生成了第三个数组C,数组C包含数组A和B的所有数据项,并且使它们有序的排列在数组C中。

  • 举例
    2020数据结构-排序算法之归并排序、基数排序
    2020数据结构-排序算法之归并排序、基数排序

  • 效率分析
    空间:O(n)
    时间:每趟归并的时间复杂度为O(n),共需进行log2n(向上取整)趟归并,所以时间复杂度为O(nlog2n)。
    稳定性:稳定。

2.基数排序

  • 基本思想
    基数排序的总体思路就是将待排序数据拆分成多个关键字进行排序,也就是说,基数排序的实质是多关键字排序。
    基数排序的思想就是将待排数据中的每组关键字依次进行桶分配。

  • 举例
    2020数据结构-排序算法之归并排序、基数排序

  • 效率分析
    空间:O®(一趟排序需要辅助存储空间为r)
    时间:需要进行d趟分配和收集,一趟分配需要O(n),一趟收集需要O®,时间复杂度为O(d(n+r)),与序列初始状态无关。
    稳定性:按位排序必须是稳定的。

相关文章: