爬虫课:simhash分块存储,为什么不把5块合并成4块?

老师:
   爬虫课上simhash比较通过增加存储空间减少比较次数,其中您讲到分成5块:A,B,C,D,E,分别存储16,12,12,12,12位。
   我的问题是为什么不分4块存储:28,12,12,12呢?
无标题.jpg

杨真

赞同来自: fish

这个问题是这样的,如果你有一块是28个bit位,你可以试试看,会出现一种情况,比如 x 和 y 两个数,它们分别在 24 44 64 3个bit位不同,那么x分为这样的4块(也就是 28 12 12 12 | 12 28 12 12 | ... )后,发现4个特征块也就是 28bit的那一个块,都会有不同的数,因此根据特征块来找,会根本就找不到   根据我们的情况,64个bit位有3个不同,要保证分组的间隔是小于21的,否则就会出现,几个特征块总能包含不同的bit  

CrazyTianC

赞同来自:

老师,看了这个更疑惑了,如果分成ABCD,28,12,12,12的四块,那么根据抽屉原理,还是能找到一块是完全相同的,然后再比较剩余的位。没有明白为什么会找不到。

多哈厚度

赞同来自:

发生发生分阿斯

要回复问题请先登录注册