海量数据

用堆解决TopK问题:

找最大K个用小顶堆/最小K个用大顶堆:

长度为K的数组,存入K个数据,建立小顶堆

依次从K+1往后和堆顶比较,小于则pass,大于则替换并重新建立小顶堆

最终堆中K个元素即是要找的TopK

分布在不同电脑中:

同一种数据只出现在一台电脑中:比正常多用一次TopK方法

同一种元素可以出现在不同电脑中:重新遍历所有并hash取模,再用TopK

  

posted on 2017-08-10 17:13  zawjdbb  阅读(105)  评论(0编辑  收藏  举报

导航