题目:
100w个数中找出最大的100个。

维护一个100个元素的小根堆即可。

或者直接维护一个用来存储当前最大的100个数的数组,每次把新来的数丢弃或插入到合适的位置。

题目:
海量数据分布在100台电脑中,统计出这批数据的TOP10。
在每台电脑上维护一个10个元素的小根堆,求出top10,然后综合即可

题目:
上千万或上亿数据(有重复),统计其中出现次数最多的前N个数据。
先用hash_map进行次数统计,然后用堆求top N

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 教你如何迅速秒杀掉:99%的海量数据处理面试题 本文经过大量细致的优化后,收录于我的新书《编程之法》第六章中,新书...
    Helen_Cat阅读 12,123评论 1 39
  • 关于最大堆 什么是最大堆和最小堆?最大(小)堆是指在树中,存在一个结点而且该结点有儿子结点,该结点的data域值都...
    凌云壮志几多愁阅读 88,917评论 33 71
  • 介绍 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前...
    简单方式阅读 9,880评论 6 48
  • 我的心不经意间 就触上会法术的精灵 从此再不能 一支烟半杯茗 青云直上广寒宫 嫦娥回眸意朦胧 更难品三杯酒 两行诗...
    美丽天空一阅读 1,684评论 8 12
  • 远处山林不可见, 旁之崎岖隐若现。 秋雨成泥难自掩, 无可奈何叹苍天。
    席i阅读 3,089评论 10 3

友情链接更多精彩内容