----
文章目录
算法 系列博客
一、快速排序思想
二、快速排序代码
一、快速排序思想
----
快速排序的思想 : 先 整体有序 , 后 局部有序 , 分治算法 ;
先从数组中 挑选出一个数 a..., 如 [1,1,1,1,1,1,1,2] , 挑选数字时 , 大概率选中 1 , 此时如果要求左半部分严格小于 1 , 此时 左半部分没有任何数值 , 很容易出现不均匀的划分 ;
快速排序的 理想划分...是每次划分 , 划分的左边和右边的元素个数基本差不多 , 递归时不会出现极端情况 ,
二、快速排序代码
----
整数排序 : https://www.lintcode.com/problem/463...;
快速排序的时间复杂度是
O(n \log n)
;
代码示例 :
class Solution {
/**
* 快速排序
* @param A
*/...>= end) {
// start 如果等于 end, 说明就一个元素, 不用排序
// start 正常情况下不会大于 end