快速排序属于交换排序,基于分治思想:选择一个基准(枢轴)元素,将序列划分为左右两部分,左边都小于基准,右边都大于基准,再对左右子序列递归排序。
基本思想
- 选取枢轴元素
- 划分(Partition):将小于枢轴的放左边,大于的放右边
- 对左右两部分递归执行
复杂度
- 最好情况(每次划分均匀):
- 最坏情况(序列基本有序):
- 平均情况:
- 稳定性:不稳定
- 空间复杂度:(递归栈)
特点
- 是所有内部排序中平均性能最优的排序算法
- 待排序序列宜采用顺序存储
- 最坏情况发生在序列基本有序时,可通过随机选取枢轴优化
快速排序属于交换排序,基于分治思想:选择一个基准(枢轴)元素,将序列划分为左右两部分,左边都小于基准,右边都大于基准,再对左右子序列递归排序。