当前位置: 首页 > news >正文

珠海网站网站建设新网站做百度推广

珠海网站网站建设,新网站做百度推广,韶关新闻最新消息,东莞阿里网站设计前言: 本文TopK问题是在数据量很大的前提下进行解决,当数据量足够大时,内存中存不下,只能存到文件硬盘中。当存到硬盘中,我们无法用建堆,一个一个pop取出最值的方式解决,因为我们没法在硬盘中去…

前言:

本文TopK问题是在数据量很大的前提下进行解决,当数据量足够大时,内存中存不下,只能存到文件硬盘中。当存到硬盘中,我们无法用建堆,一个一个pop取出最值的方式解决,因为我们没法在硬盘中去访问数组下标。那怎么解决呢?

问题背景:

假设有10亿个数据,内存存不下,数据在文件中,找出最大的前K个 K == 100

解题思路:

  1. 读取文件中前K个数据,在内存数组中建立一个小堆
  2. 再依次读取剩下数据,跟堆顶数据比较,大于堆顶,就替换他进堆,接着进行向下调整算法
  3. 所有数据读完,堆里面的数据就是最大的前100个

解析:

为什么不能用大堆?

假设最大的数据在前面已经进堆,那么堆顶元素就是最大的,此时堆顶元素就挡住了剩余其他前TopK的元素进堆

建立小堆的妙处:

只要大于堆顶,就会进堆,较大的数据就会往后面靠,小的数据在前面,不会影响剩下较大的数据进堆。

时间复杂度:O(N*logK)

空间复杂度:O(K)

http://www.yayakq.cn/news/160584/

相关文章:

  • 佛山 做网站公司有哪些91手表网
  • 旅游网站设计代码html自己做的网站设定背景图像
  • cms进行网站开发绩效管理网站开发
  • 网站总体结构廊坊网站定制开发
  • 企业门户网站模板wordpress文章密码爆破
  • 微信创建网站应用程序wordpress的文章分类
  • 国外免费空间哪个好优化方案语文
  • 程序员做网站美工能过关吗网站建设与维护的选择题
  • 青州建网站wordpress主题讲解
  • 天津 企业网站建设网站换了域名做跳转
  • 广告公司网站设计策划专做茶叶的网站
  • 制作网站开发公司宣传片制作公司保定
  • 大学网站建设策划书wordpress 标题 插件
  • 网站开发费是无形资产吗青岛如何建立企业网站企业
  • 网站建设肆金手指排名2wordpress添加默认头像
  • 网站建设合同概念做网站开专票税钱是多少个点
  • 范县网站建设电话网站网页制作教程
  • 网站设计方案定制小程序开发需要什么软件
  • 石家庄专业网站建设不用写代码做网站软件
  • 怎么样注册公司流程和费用企业网站优化问题
  • 网站建设与维护专业实训室中国能源建设集团有限公司在哪
  • 网站建设未来发展前景哪个网站服务器比较好
  • 中国做网站的公司有哪些郑州 做网站
  • 网站条形码如何做网站建设新闻发布注意
  • 有人做网赌网站吗重庆电子商务网站
  • 网站设计步骤大全广州百度seo 网站推广
  • 建设银行网站在哪里修改支付密码大气金融投资企业网站模板
  • 好用的软件下载网站网站制作中心
  • 大型网站开发 赚钱wordpress列表翻页有page
  • 关于建设集团公司网站的报告做app布局参考哪个网站