【发布时间】:2017-07-29 16:36:59
【问题描述】:
给定一个使用模哈希函数的算法,这意味着大于某个给定整数的大数字将“环绕”,因此结果始终介于 0 和给定整数之间。 例如,Rabin-Karp Algorithm 需要一个滚动哈希,并带有一个巧妙的模数。 可能的最高模数是多少?为什么会这样?
【问题讨论】:
-
没有可能的最高模数。一般来说,模数越大,哈希值越好,但计算速度越慢。
-
为什么没有限制?您是否考虑过以 2^(31)-1 为模的 32 位整数?这是行不通的,因为任何足够大的整数乘法都会导致整数溢出,然后才能取模。
标签: algorithm hash modulo rabin-karp