算法实现:如何从100亿个数中找到最大的10000个数

来源:互联网 发布:乌鲁木齐 网络订花 编辑:程序博客网 时间:2024/05/21 09:04

一看这个这个题目:也许你就蒙了,这么多的数排序,直接读入内存,内存是装不下的,一个解决办法:用堆排序,先取10000个数排序,排序的时间复杂度,nlogn=10000*log1000,设它为T0,那么后面的数据依次取一个和这个堆比较,堆里面永远保留最大的10000个数据,最后就输出这10000w个数据,不知道还有什么好的办法吗?

原创粉丝点击