快速排序算法的依据:通过一趟排序将要排序的数据分成两部分,其中一部分的所有数据都要比另一部分的所有数据要小,然后再对这两部分数据分别进行排序(排序过程可通过递归实现)。
源代码(有注解):
快速排序的基本特征:
- 平均时间复杂度:最坏情况下位O(n2),平均时间复杂度为O(nlgn)
- 空间复杂度:快速排序在系统内需要一个栈来实现递归,最坏为O(n);若每次划分比较均匀,则为O(lgn)
- 快速排序为非稳定排序
快速排序算法的依据:通过一趟排序将要排序的数据分成两部分,其中一部分的所有数据都要比另一部分的所有数据要小,然后再对这两部分数据分别进行排序(排序过程可通过递归实现)。
源代码(有注解):
快速排序的基本特征: