原文:海量数据中找top K专题

. 亿个数中找出最大的 个数 这种题目就是分治 堆排序。 为啥分治 因为数太多了,全部加载进内存不够用,所以分配到多台机器中,或者多个文件中,但具体分成多少份,视情况而定,只要保证满足内存限制即可。什么,如何分 Hash num numOfFiles。 为啥堆排序 首先堆排序是一种选择排序,比一般的选择排序时间复杂度要低,额外的空间复杂度都是O 。因为我只要在每一份中拿出最大的 个即可,这里用大 ...

2018-04-11 16:51 0 1070 推荐指数:

查看详情

海量数据处理之top K问题

题目: CVTE笔试题 https://www.1024do.com/?p=3949 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查 ...

Tue Apr 24 17:53:00 CST 2018 0 2449
海量数据处理 - 10亿个数找出最大的10000个数(top K问题)

前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000最小的),将这个数替换堆顶 ...

Sat Feb 16 04:10:00 CST 2019 2 5644
海量数据处理的 Top K算法(问题) 小顶堆实现

  问题描述:有N(N>>10000)个整数,求出其中的前K个最大的数。(称作Top k或者Top 10)   问题分析:由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。         可以利用数据结构的最小堆来处理该问题 ...

Wed Mar 20 23:24:00 CST 2013 4 46219
海量数据处理专题(三)——Hash

【什么是Hash】 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换 ...

Fri Aug 24 04:11:00 CST 2012 0 3296
海量数据找出前k大数(topk问题)

海量数据找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆 ...

Wed Sep 13 04:59:00 CST 2017 0 17438
海量数据处理专题(四)——Bit-map

【什么是Bit-map】 所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素 ...

Tue Aug 28 16:27:00 CST 2012 2 2574
原创:从海量数据查找出前k个最小或最大值的算法(java)

现在有这么一道题目:要求从多个的数据查找出前K个最小或最大值 分析:有多种方案可以实现。一、最容易想到的是先对数据快速排序,然后输出前k个数字。              二、先定义容量为k的数组,从源数据取出前k个填充此数组,调整此数组的最大值maxValue到首位,然后对剩下 ...

Wed Mar 09 02:25:00 CST 2016 1 4943
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM