1. 10亿个数中找出最大的1000个数 这种题目就是分治+堆排序. 为啥分治?因为数太多了,全部加载进内存不够用,所以分配到多台机器中,或者多个文件中,但具体分成多少份,视情况而定,只要保证满足内存限制即可.什么,如何分?Hash(num)% numOfFiles. 为啥堆排序?首先堆排序是一种选择排序,比一般的选择排序时间复杂度要低,额外的空间复杂度都是O(1).因为我只要在每一份中拿出最大的1000个即可,这里用大顶堆还是小顶堆呢? 开始我觉得是大顶堆,我们不妨举个例子:假设10亿个数,分…