Contents
  1. 1. TOP N

TOP N

1000亿个数的问题,内存4G,如何算出最大的1000个数?

解决方案:最小堆 + 分区。 分成N个等分,然后多线程去计算。构建1000个数的最小堆,10万个数字一组,从1001到10万中遍历,如果比堆顶小,就replace,然后重建最小堆。最后归并。

Contents
  1. 1. TOP N