对于这种题目,最普通的想法是先对这10万个数进行排序,然后再选取数组中前10个数,即为最后的答案,排序算法的时间复杂度不下于O(N lgN)。最好的方法是建立一个最小堆。
算法描述:
我们首先取10万个元素中的前10个元素来建立由10个元素组成的最小堆。这样堆顶元素便是当前已知元素的第10大的数;然后依次读取剩下的99990个元素,若读取的元素比堆顶元素大,则将堆顶元素和当前元素替换,并自堆顶至下调整堆;这样读取完所有元素后,堆中的10个元素即为这10万个数最大的10个数,同时堆顶元素为这10万个元素第10大元素。
时间复杂度:
设从N个数中找M个最大数
每次重新恢复堆的时间复杂都为O(logM),最多供进行了(N-M)次恢复堆操作,顾时间复杂度为O(NlogM)。

从10万个数中找10个最大的数相关推荐

  1. 谈从10亿个数中找出前10万个最大的

    谈从10亿个数中找出前10万个最大的 期的实验显示10亿个浮点数大概占据3G左右的空间,因此全部一次性读入内存目前在个人PC上是不太现实的.本次讨论不考虑内存等等,只考虑算法. 如果一次性比较排序,然 ...

  2. 海量数据处理 - 10亿个数中找出最大的10000个数(top K)

    海量数据处理 - 10亿个数中找出最大的10000个数(top K问题) 版权声明:本文为博主原创文章,未经博主允许不得转载 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望 ...

  3. 10亿个数中找出最大的10000个数

    转载自  海量数据处理 - 10亿个数中找出最大的10000个数(top K问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅 ...

  4. 10亿个数中找出最大的10000个数(top K问题)

    原博链接: https://blog.csdn.net/cbjcry/article/details/84917432 问题引入:10亿个数中找出最大的10000个数(top K问题) top K问题 ...

  5. 在10亿个数中找出前1000个最大的

    在10亿个数中找出前1000个最大的 假设现在有一个文件,里面存放了10亿个整数,需要找出前1000个最大的. 方法: 1.普通排序,部分排序:几乎不可取. 2.分治法:随机选一个数t,然后对整个数组 ...

  6. 如何在10亿个数中找到前1000大的数?

    2019独角兽企业重金招聘Python工程师标准>>> 如何在10亿个数中找到前1000大的数? 定位 TopN问题 算法 排序不是最优的解决方案: 可以考虑分治法: 类似快速排序中 ...

  7. 10亿个数中找出最大的10000个数之top K问题

    方法一.先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10 ...

  8. 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

    top K问题 在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题.例如,在搜索引擎中,统计搜索最热 ...

  9. 如何从100万个数中找出最大的前100个数

    1.  算法如下:根据快速排序划分的思想  (1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数  (2) 对(b,d]重复(1)操作,直到最右边 ...

最新文章

  1. Vertebrae 发布了新的SDK!
  2. 虚拟机VMware安装centos7详细步骤
  3. springboot 开发入门,及问题汇总
  4. Java飞行记录器(JFR)
  5. 批处理写入以及动态与参数化SQL,数据库的性能如何?
  6. 【Python-GPU】GPU数据科学加速包——RAPIDS
  7. openGauss 分区表索引
  8. 《Spring技术内幕》——2.3节IoC容器的初始化过程
  9. MFC GDI+ 绘图
  10. SAP采购订单价格与信息记录价格不匹配
  11. 测温传感器 温度传感器 温度传感器生产厂家 温度变送器 温度感应器 温度测量 热电偶 热电偶传感器 热电偶套管 热电偶温度传感器 热电偶温度计 热电阻传感器 热电阻温度计 电阻温度探测 精密RTD
  12. 2022CPA审计-第三编-各类交易和账户余额的审计-【完结-有点感觉了?】
  13. Qq也进入鸿蒙系统,鸿蒙系统完善进行中,手机QQ接入HMS不需要后台运行秒收信息...
  14. Scaled-YOLOv4: Scaling Cross Stage Partial Network 论文翻译
  15. 【一周头条盘点】中国软件网 2017.11.3~2017.11.7
  16. SQL 把查询结果当作表来使用
  17. tf.dynamic_stitch
  18. 洛谷1072 Hankson 的趣味题
  19. amd 服务器 主板芯片组,amd主板芯片组是什么
  20. 中国政府信息化行业发展规划及投资前景分析报告

热门文章

  1. PM_01 信息化和信息系统
  2. abstract 和 唯一标示符
  3. 【娱乐向】Java古风玛丽苏诗句生成器
  4. LPC1788 @120MHZ
  5. TD-LTE系统测试无线环境比较
  6. 【笔记】自适应卡尔曼滤波 Adaptive Extended Kalman Filter
  7. 【心路历程】微职位报名华为HCNP认证,妥妥过。。。(嗯,最后有彩蛋)
  8. 教学中利用计算机软件,计算机软件应用类课程教学方法探讨
  9. 新闻集团下周将推iPad报纸 网站屏蔽搜索引擎
  10. HP服务器换硬盘流程,HP服务器SSD硬盘更换操作指南.pptx