而外排序的方法会消耗大量的IO,效率不会很高。而上面的分布式方法,也可以用于单机版本,也就是将总的数据根据值的范围,划分成多个不同的子文件,然后逐个处理。处理完毕之后再对这些单词的及其出现频率进行一个归并。实际上就可以利用一个外排序的归并过程。
另外还可以考虑近似计算,也就是我们可以通过结合自然语言属性,只将那些真正实际中出现最多的那些词作为一个字典,使得这个规模可以放入内存。
转载请注明出处:
作者phylips@bmy
参考文献:
d-Left Hashing
应用Bloom Filter的几个小技巧
%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95
bmy@phylips
================================================================================
还想补充一点就是:折中的思路。 比如锁整个哈希表的粒度太大?好,那我就设计一种桶粒度的锁!
工作中会遇到很多富有挑战性的问题,同时也会遇到很多令人拍案叫绝的巧妙方法! 为了逐步提高自己的水平,还需要今后坚持不懈地积累和总结,多向其它同学请教和沟通。