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

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

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

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

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

你可能感兴趣的:(堆)