模糊hash算法的一点理解

来源:互联网 发布:c语言的头文件 编辑:程序博客网 时间:2024/05/18 02:07

模糊hash算法的一点理解

详细参考博文:模糊哈希算法的原理

这里写下本人一点点理解,欢迎指正:

个人感觉大概是这个意思:
分片什么的好理解,为了得到每一部分的特征。

但是有个问题:增加或者减少Bit会导致分片错位,当然每个分片的hash就不同了,那么应该十分相似的两段东西就迥然不同了

现在我们用滚动窗口。
比如一段序列:

abcdabc…

我们得到abc,bcd,cda,abc
这样即使加入了一个字符是

abccdabc…

得到:abc,bcc,ccd,cda,abc
可以看出来和原来还是有很大的相同的

然后就要解决在什么地方分片的问题,不可能用字符的个数作为依据来分片,这样还是会有上述问题

那么我们将得到字符串的hash值作为分片依据,也就是一旦找到了预期的字符串就分一下片。比如我们找到了abc就分片,这样即使插入了一个字符还是能够得到一样的分片,顶多插入一个字符会影响两个分片

其他的部分就十分好理解了,在此不赘述。

1 0