一、算法思想简介
快速排序是交换排序,其基本思想是
1.任取一个元素(如:第一个)为中心元素
2.所有比它小的元素一律前放,反之则后放,形成左右两个子表
3.对各子表重新选择中心元素并依此规则调整
4.直到每个子表的元素只剩一个
1.快速排序不是原地排序
2.时间复杂度
由于使用了递归,需要递归调用栈的支持,而栈的长度取决于调用递归的深度
在平均情况下:需要用O(logn)的栈空间
最坏的情况下:栈空间可达O(n)
3.快速排序中可能会出现相同元素因为分区而交换位置,所以快速排序是不稳定的算法