我记得在算法导论里看过这个算法,貌似开篇就是。
维护一个大小为100的数组top100,第一个里面存储最先100个数字里的最小值,构建小顶堆,然后循环下标100到一亿,若是大于top100[0]就交换,重新构建小顶堆,循环完毕就得到结果了。
对top100[100]插入排序效率不知道如何。
进行100次区间快排求k值如何。
进行100次桶排序如何。
不过复杂度分析还是弱项。
堆排序笔记:http://www.cnblogs.com/hxsyl/p/3244756.html