一句话总结:内存无法装下,用比较速度最快的数据结构。
先找最大的1000个整数
1、内存无法装下:先取出1001个整数,构建一个最小堆,堆顶永远是最小的整数。
2、比较:从剩余的整数中一次取出一个,跟最小堆堆顶相比,如果比堆顶小,就pass掉,接着取;如果比最小堆堆顶大,那么将之替换掉堆顶,然后调整最小堆
3、结果:100亿个整数全部操作完后,抛开堆顶,剩下的1000个就是最大的1000个整数。
找最小的1000个整数用最大堆就可以了
本文介绍了一种处理大规模数据集的有效算法,当数据量超出内存容量时,使用最小堆寻找最大的1000个整数,使用最大堆寻找最小的1000个整数。通过逐步迭代数据,确保了最终结果的准确性。
一句话总结:内存无法装下,用比较速度最快的数据结构。
先找最大的1000个整数
1、内存无法装下:先取出1001个整数,构建一个最小堆,堆顶永远是最小的整数。
2、比较:从剩余的整数中一次取出一个,跟最小堆堆顶相比,如果比堆顶小,就pass掉,接着取;如果比最小堆堆顶大,那么将之替换掉堆顶,然后调整最小堆
3、结果:100亿个整数全部操作完后,抛开堆顶,剩下的1000个就是最大的1000个整数。
找最小的1000个整数用最大堆就可以了
6209
4805
9355

被折叠的 条评论
为什么被折叠?