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

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

最佳回答

从容的丝袜

复杂的大米

2026-04-03 12:23:20

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

最新回答共有2条回答

  • 典雅的小虾米
    回复
    2026-04-03 12:23:20

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

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

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