原文:海量数据中找出前k大数(topk问题)

海量数据中找出前k大数 topk问题 前两天面试 面学长问我的这个问题 想说TEG的 个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了 ,这个问题还是建立最小堆比较好一些。 先拿 个数建堆,然后一次添加剩余元素,如果大于堆顶的数 中最小的 ,将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的 个数就是所需的最大的 个。建堆时间复杂度是O ...

2017-09-12 20:59 0 17438 推荐指数:

查看详情

原创:从海量数据找出k个最小或最大值的算法(java)

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

Wed Mar 09 02:25:00 CST 2016 1 4943
海量数据处理 - 10亿个数找出最大的10000个数(top K问题

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

Sat Feb 16 04:10:00 CST 2019 2 5644
海量数据处理之top K问题

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

Tue Apr 24 17:53:00 CST 2018 0 2449
海量数据找top K专题

1. 10亿个数找出最大的1000个数 这种题目就是分治+堆排序。 为啥分治?因为数太多了,全部加载进内存不够用,所以分配到多台机器,或者多个文件,但具体分成多少份,视情况而定,只要保证满足内存限制即可。什么,如何分?Hash(num)% numOfFiles。 为啥堆排序?首先堆排序 ...

Thu Apr 12 00:51:00 CST 2018 0 1070
海量日志数据__怎么在海量数据找出重复次数最多的一个

问题一: 怎么在海量数据找出重复次数最多的一个 算法思想: 方案1:先做hash,然后求模映射为小文件,求出每个小文件重复次数最多的一个,并记录重复次数。 然后找出上一步求出的数据重复次数最多的一个就是所求 ...

Sat Apr 04 19:13:00 CST 2015 0 5116
海量数据查找最大的k个数(小顶堆)

  在大规模数据处理,经常会遇到的一类问题:在海量数据找出出现频率最好的k个数,或者从海量数据找出最大的k个数,这类问题通常被称为top K问题.例如搜索最热门的商品,最活跃的用户. eg:有1亿个浮点数,如果找出期中最大的10000个? 最容易想到的方法是将数据全部排序,然后在排序 ...

Fri Jul 17 22:32:00 CST 2020 0 799
TOPK 问题

TOPK 问题 描述 如从海量数字寻找最大的 k 个,这类问题我们称为 TOPK 问题,通常使用堆来解决: 求 k 大,用最小堆 求 k 小,用最大堆 例子 现有列表 [1, 2, 0, 3, 5], 求 2 个大的元素。 如传入列表和 k = 2,输出 ...

Tue May 07 05:30:00 CST 2019 0 796
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM