Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 1.68 KB

海量数据问题.md

File metadata and controls

27 lines (18 loc) · 1.68 KB

海量数据问题

海量数据处理由于网上几篇文章已经总结的比较详细, 这里就不再铺开阐述;下面👇主要讲涉及的数据结构的特点以及背后的逻辑做相关说明;

Top K问题

寻找热门查询,300万个查询字符串中统计最热门的10个查询?

分析:这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。

所以我们放弃分而治之/hash映射的步骤,直接上hash_map统计,然后排序。So,针对此类典型的TOP K问题,采取的对策往往是:hash_map + 堆。

解法:(有重复/数据量减少) hash_map统计 + 堆排序

注: 如果要求速度, 可以采用空间换时间的策略;将数据分成n份(通过hash%n), 分别求出每一份的Top K再合并求总的Top K;

附: