腾讯面试:一亿数中求前100大
我记得在算法导论里看过这个算法,貌似开篇就是。
维护一个大小为100的数组top100,第一个里面存储最先100个数字里的最小值,构建小顶堆,然后循环下标100到一亿,若是大于top100[0]就交换,重新构建小顶堆,循环完毕就得到结果了。
对top100[100]插入排序效率不知道如何。
进行100次区间快排求k值如何。
进行100次桶排序如何。
不过复杂度分析还是弱项。
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.