期望为线性的选择算法
平时,我们在做从一堆没有排序的数中,找出最大,或者最小,必须要做N-1次比较。
而当我们同时需要找出最大最小值时,我们只需要3|_n/2_|次比较。具体做法是:我们把所有的数分为两组,比较每一组并记录较大和较小的数值,把较大的放在一组找最大的,把较小的放在一组找最小的。
但我们在现实中会遇到很多找第i个最小或者最大的值的情况,在
期望为线性的选择算法
平时,我们在做从一堆没有排序的数中,找出最大,或者最小,必须要做N-1次比较。
而当我们同时需要找出最大最小值时,我们只需要3|_n/2_|次比较。具体做法是:我们把所有的数分为两组,比较每一组并记录较大和较小的数值,把较大的放在一组找最大的,把较小的放在一组找最小的。
但我们在现实中会遇到很多找第i个最小或者最大的值的情况,在