不管是2.0还是1.0 面对最差的例子 时间复杂度都是O(N²)
例子:
假设 给出数组 [1,2,3,4,5,6,7,8]
以最后一位8为标准,只搞定了8在最后面
以7为标准 ,只搞定了7
以此类推
每一次划分只搞定了一个数字
出现这种最差情况的原因, 划分值(标准值)很偏(很大或者很小)
最好的情况就是 划分值为中间值
快排3.0
随机取一个数,和最后一个位置 交换位置 ,来作为划分值
这样子出现坏情况和好情况 ,都会变成等概率事件
通过数学计算 (很复杂不知道) , 时间复杂度就是 O(N * logN)