三个经典问题

求第K小的数

一般的方法是:先对数列进行一次排序,然后找到第k小的数。假如用快排来做排序的话,时间复杂度为O(nlogn)。O(nlogn)看起来貌似效果也不错,但是否还有比它更高效的算法呢?答案是肯定的。我们先来看下第k小的数有什么特点:一个数列中第k小的数,在这个数列中一定有k-1个数比它小,[......]

Read more