Quick Sort & Merge Sort

两种排序均采用分治的思想:quick sort先整体有序,再局部有序。归并排序先局部有序,再整体有序。

目录:

  • quick sort 和 merge sort 的比较
  • quick sort
  • merge sort

1. quick sort 和 merge sort 的区别于联系

1). 时间复杂度:都是O(nlogn),但是快速排序是平均O(nlogn),归并排序是最好最坏都是O(nlogn)

quick sort的平均时间复杂度的计算:如有3个数字,则有6种排列情况,则期望的时间复杂度是:1/6 * (每种排列的时间之和)

2). 空间复杂度:快速排序耗费O(1)的额外空间,归并排序不得不耗费O(n)的额外空间

3). 排序稳定性:快速排序是不稳定的排序算法。归并排序是稳定的排序算法

4). 分治的思想:快速排序先整体有序再局部有序。归并排序先局部有序再整体有序。

T(n) = 2 * T(n/2) + O(n)

2. quick sort -快速排序的原理和实现

1). 以某个元素为基准,记录其为key,然后小于等于key的在左边,大于等于key的在右边。为了使划分更均匀。

2). 有以下几个要点:绿色标出!

class Solution {
public:
    /*
     * @param A: an integer 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值