快选,每次选一部分,扔掉另一部分,所以是O(N) 假设每次扔掉一半. (2^k=N) T(N) =n +n/2+n/4+n/8+n/2^k = n*(1-2^-k)/(1-2^-1) =2N 这是粗略估计,具体看算法导论。