几千万个数中找出最大的十个数,求算法大神讲下方法

学习 时间:2026-06-05 03:43:41 阅读:7284
几千万个数中找出最大的十个数,求算法大神讲下方法应该是一道面试题,麻烦讲下大概思路

最佳回答

贪玩的奇异果

虚拟的火车

2026-06-05 03:43:41

采用一个最小堆的结构,数目为10。
初始值为这几千万个数前10个数,依次遍历这几千万个数,每遍历一个数就和最小堆的最小值比较,如果大的话就插入该最小堆中,并删除最小元素。直至遍历完毕。
算法复杂度为O(n),因为log10是个常数。

最新回答共有2条回答

  • 懵懂的吐司
    回复
    2026-06-05 03:43:41

    采用一个最小堆的结构,数目为10。初始值为这几千万个数前10个数,依次遍历这几千万个数,每遍历一个数就和最小堆的最小值比较,如果大的话就插入该最小堆中,并删除最小元素。直至遍历完毕。算法复杂度为O(n),因为log10是个常数。

上一篇 公将鼓之 的将是什么意思;杀之以应陈涉 的以是什么意思

下一篇 帐篷气垫床哪个牌子好