大话快排 和 归排的渊源

本文探讨了快速排序和归并排序的起源及差异。归并排序适用于外部排序,拥有稳定的O(nlogn)时间复杂度,但需要额外O(n)空间。快速排序是非稳定算法,同样具有O(nlogn)时间复杂度,但空间开销仅为O(1)。两种算法都基于分治策略,归并排序通过合并操作,快速排序则依赖于partition过程。文章详细解释了两种排序算法的步骤和代码实现。
摘要由CSDN通过智能技术生成

一:起因

(1)包括冒泡算法、快排算法、插入排序算法等;还有基于外部排序的归并排序(以二路归并排序为例 )

但是基本上在一个数量级上;

(2)

mergesort (归并排序) 可以应用在外部排序,这与基于内存的quicksort(快速排序)略有不同,他们的算法复杂度都可以达到O(nlogn)

(3)mergesort 是稳定的排序算法,需要额外的空间开销O(n);quicksort 是非稳定的排序算法,额外的空间开销O(1);两者的核心思想都来源与分支的策略(divide and conquer),一个是merge 过程,一个是partition过程。

二:详解

(1)归并排序

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值