海量数据,取出TopN个数据,正常来说,先排一下序比较好,然后取出前N个即可。
可是有时候,N非常小,也就是说,从时间复杂度上来看,N*n < n*logn 了,这个时候,可以遍历一次,每次替换掉结果数组中最小的值,组成的序列就是需要的TopN。
算是一种特殊情况下的效率提升。
海量数据,取出TopN个数据,正常来说,先排一下序比较好,然后取出前N个即可。
可是有时候,N非常小,也就是说,从时间复杂度上来看,N*n < n*logn 了,这个时候,可以遍历一次,每次替换掉结果数组中最小的值,组成的序列就是需要的TopN。
算是一种特殊情况下的效率提升。