寻找TopN——在10亿数据中找到1000个最大的数
寻找TopN——在10亿数据中找到1000个最大的数目录问题描述解法补充目录问题描述如何从10亿数据中找到前1000大的数?解法针对该问题,给定一个数组data,从中找出前n个最大的数。解题思路先维护一个具有n个数的堆,然后调整该堆为小顶堆,即每个父节点都比其子节点小。然后从剩下的数组中逐一读取数据,将读取到的数据跟堆顶比较。如果该数比堆顶小,直接丢弃;如果该数比堆顶数大,则用该数替...
原创
2018-10-23 18:59:18 ·
4501 阅读 ·
1 评论