经典例题:在10亿个数中找出1000 个最大的。 思路: 首先取出1000个数,建立一个小根堆,然后依次用剩下“10亿 - 1000 个数”与堆顶元素比较,若小于堆顶元素,则忽略,若大于堆顶元素,则将现堆顶元素出堆,将改元素入堆并重新排序调整为小根堆,依次处理剩下的所有数据,最终得到的堆中元素则为最大的1000个数。 拓展: 若是找出最小的1000个数,则同理建立一个大根堆,再做同上处理即可。