快速排序
1.特点:
应用最广泛;运行快,空间占用小,容易实现,许多情况下所消耗的资源也比其他排序算法小。
不稳定,即对于排序码相同的元素,排序后可能会颠倒次序。
2.基本思想:
任取待排序序列中的某个元素(例如第一个)为基准,将整个元素序列分为左右两个子序列:左侧子序列中所有元素的排序码都小于基准元素的排序码,右侧子序列中所有元素的排序码都大于基准元素的排序码。然后分别对这两个子序列分别重复施行上述方法,直到所有元素都排在相应位置上为止。
3.实现过程:
4.性能分析:
时间复杂度:O(nlogn)
空间复杂度:O(logn)