2019独角兽企业重金招聘Python工程师标准>>>

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

定位

TopN问题

算法

  • 排序不是最优的解决方案;
  • 可以考虑分治法;
  • 类似快速排序中的partition的操作,随机选一个数t,然后对整个数组进行partition,会得到两部分,前一部分数都大于t,后一部分都小于t,时间复杂度O(n)。

注意点

  • 10亿个数加载进内存大概需要4G内存;

  • 若一个机器资源有限,可采用分布式的思想,切分数据后分别计算然后汇总;

  • 如果只有一台资源有限的机器,可以使用小顶堆(每个节点都要比它的左右子节点要小);

  • 从文件中读取出数据,遍历一遍即可,比堆顶的数据大就替换,然后调整小顶堆;

转载于:https://my.oschina.net/mengzhang6/blog/3054401

如何在10亿个数中找到前1000大的数?相关推荐

  1. n个数中输出前m大的数

    描述 n个数,要求输出其中的m个最大数 想法1 开辟辅助数组,用插入排序,将前m最大数插入到辅助数组中,时间复杂度O(n*m) 想法2 类似快速排序的想法,将前m大的数都聚到最左边,再进行一次排序输出 ...

  2. 【面试现场】如何在10亿数中找出前1000大的数

    小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已经挂了两家,今天小史去了BAT中的最后一家面试了. 简单的 ...

  3. 如何在 10 亿数中找出前 1000 大的数?

    作者 | channingbreeze 责编 | 胡巍巍 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已 ...

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

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

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

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

  6. 如何在10亿数中找出前1000大的数

    1.排序方法 首先能想到的就是先排序,然后取前1000个数,或者部分排序,只排出前1000个数就行 缺点:这些方法的时间复杂度都比较高 2,分治法 可以使用分治法,这有点类似快排中partition的 ...

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

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

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

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

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

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

最新文章

  1. 「UI 测试自动化selenium」汇总
  2. leetcode python 011
  3. java shark_JAVA项目开发笔记(3)Shark部分: Shark API | 学步园
  4. 139社区改版能给我们带来什么?
  5. scala学习手记2 - scala中的循环
  6. java编辑简单文本编辑器_简单文本编辑器
  7. 祝各位MM们节日快乐!
  8. 无线网首选dns服务器怎么设置,怎么设置无线路由器dns
  9. 数字信号处理(自学篇)
  10. tomcat发布asp网站的解决办法(转)
  11. 前端知识-JavaScript事件驱动特性
  12. php表格中的caption,html中caption标签的使用方法及实例详解
  13. 程序员的奋斗史(二十八)——寒门再难出贵子?
  14. latex 在线表格生成
  15. ftp服务器覆盖文件,ftp 覆盖 服务器 文件
  16. 《荒漠甘泉》4月19日
  17. 一个最骚的面包屑导航
  18. Foxmail只能接收邮件,不能发邮件,Mcafee需设置
  19. WorkSheet 的方法:add、delete、activate和select、copy、move;属性:name、visible
  20. 登山安化云台山风景区山巅,畅游云海

热门文章

  1. vue循环渲染本地图片不显示?
  2. 清除stoped impdp/expdp job的方法
  3. UNIX环境高级编程之第4章:文件和文件夹-习题
  4. nginx开机启动脚本
  5. 使用Xamarin在Visual Studio中开发Android应用
  6. HTML中的IE条件注释
  7. linux 下挂载光驱
  8. 字符串t1t2t3t4
  9. 【论文写作】毕业论文写作——摘要篇
  10. win7服务器未能登入,Win7提示profile服务未能登录,无法在系统中创建怎么办