, 快速排序在 最坏情况下会达到
O(n^2)
;
如 : 数组 [1,2,3] 排序 , 有 6 种排列方式 , 计算这 6 种排序时间复杂度的平均期望就是
O(n \log n)
;
最坏的情况时..., 在数组原地进行排序 ,
三、排序稳定性
----
排序的稳定性 : 假如数组中有两个相同的元素 , 给这两个相同的元素分别打上标记 , 如果每次排列得到的元素顺序都是相同的 , 则说明该排序是稳定的...;
快速排序中 , 这两个结果随机出现 , 同样使用快速排序 , 并不能保证得到的是相同的标记元素次序 ;
归并排序 , 可以保证 , 每次排序 , 得到的都是相同的结果 ;
三、局部有序与整体有序...----
快速排序 与 归并排序 , 都是将数组分为两个部分 , 然后两部分再次进行递归 ;
快速排序 随便选择了一个数组元素 p 作为中心点 , 将小于等于 p 的元素放在左边 , 将大于等于 p 的元素放在了右边..., 分割完毕后 , 左侧的元素肯定小于右侧的元素 ;
然后对左侧 和 右侧 再次分别选择一个元素 m , n , 进行分割 , 分为 4 份 ,
在 4 份的基础上 , 再次进行分割 , 分为 8