线性时间选择

  RandomizedSelect 可以在 O(n)  平均时间内找到第K个小元素,在最坏的情况下可以生产出 OMG (N * N )时间内找到。但更是该算法的平均性能很好。

 因为每次都查找到最大最小值,那么分而治之的功能就失效了,就沦落为了直接选择了。

   堆排序也可以在O(n) = O (n + k * log n) 时间内找出第K小元素,当K <= n/logn ,但是在限定条件下,O(n) 可以在最坏的情况下出现,也可以是O(n)。

原文地址:https://www.cnblogs.com/studyNT/p/2311418.html