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

学习 时间:2026-08-29 02:31:15 阅读:5158
几千万个数中找出最大的十个数,求算法大神讲下方法应该是一道面试题,麻烦讲下大概思路

最佳回答

碧蓝的棒球

谦让的帽子

2026-08-29 02:31:15

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

最新回答共有2条回答

  • 完美的金鱼
    回复
    2026-08-29 02:31:15

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

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

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