小编csp*_*eth的帖子

了解循环多项式哈希冲突

我有一个代码,使用循环多项式滚动哈希(Buzhash)来计算n-gram源代码的哈希值.如果我使用小哈希值(7-8位),则存在一些冲突,即不同的n-gram映射到相同的哈希值.如果我将哈希值中的位增加到31,则有0次冲突 - 所有ngrams都映射到不同的哈希值.

我想知道为什么会这样?碰撞是否取决于文本中的n-gram数量或n-gram可以具有的不同字符数量,还是n-gram的大小?

如何在散列n-gram时使用滚动哈希值选择哈希值的位数?

hash hash-collision n-gram

8
推荐指数
1
解决办法
987
查看次数

标签 统计

hash ×1

hash-collision ×1

n-gram ×1