首页 > 其他 > 详细

海量文本信息查Top-k

时间:2016-09-21 21:34:26      阅读:226      评论:0      收藏:0      [点我收藏+]

问题描述:

  有1千万条短信,一条一行,有重复。在5分钟之内,找出重复出现的前10条。

方案一:

  1.分组进行边扫描边建散列表。建立哈希表,使用头,尾和中间随便两个字节作为Hash Code, 插入到Hash table中,并记录其地址和重复次数。

  2.hash code同且等长-》判定为疑似相同。然后hash table统计重复次数。

  3.用线性时间选择在O(n)级别上完成前10条的寻找。

方案二:

  1.按照长度短-》长进行处理。

  2.按照长度进行分组,每组通过头尾中间粗略判断相等,找出每组的top10。

  3.从各次top10结果中找到备选的top10,然后再精确搜索找到真正的top10。

方案三:

  1.采用内存映射,加载文本。

  2.建立字典树,统计top10个字符串。

海量文本信息查Top-k

原文:http://www.cnblogs.com/luntai/p/5894094.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!