algorithm - 为 Rabin-Karp 字符串搜索算法找到一个好的哈希函数

标签 algorithm hash rabin-karp

有哪些好的哈希函数可用于实现Rabin-Karp string search algorithm ?我只知道多项式哈希,但它有一些缺陷 - 最值得注意的是,如果哈希以 264 为模进行,有一个测试保证会经常产生冲突(并且使用另一个模数是不切实际的)因为 mod 操作非常昂贵)。那么,有没有一个快速、易于编写好的哈希函数呢?

附注我知道 buzhash,但我想知道是否还有其他选择......

最佳答案

由于它不是安全哈希,并且您只需要一个“良好”的指纹,因此我建议使用类似 Tabulation hashing 的值。 。孔操作将比 mod 操作快几倍。

关于algorithm - 为 Rabin-Karp 字符串搜索算法找到一个好的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735414/

相关文章:

javascript - 按卖家对一系列销售额进行分组,从每个卖家那里获取总数,按总销售额排序

c++ - set_difference、set_intersection 和 set_union 的就地版本

algorithm - rabin karp算法中 "h"代表什么?

c++ - 内存映射和排序文件后字节下落不明

java - 排序算法实现

perl - 在Perl中,有什么方法可以使用 “constant”作为哈希键吗?

ruby - 如何在数组中添加特定的哈希属性

hash - 是否存在可以保证哈希算法唯一的情况?

c++ - Karp Rabin 中的质数和 block 长度

algorithm - Rabin Karp 算法 - 给定输入的最坏情况 O(m*n) 是怎样的?