【发布时间】:2021-10-16 02:26:19
【问题描述】:
在数学中可以,但我在研究 Rabin-Carp 字符串搜索算法时遇到了这个问题。他们使用的哈希函数(来源:维基百科:https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm#Hash_function_used)是这样的:
[(104 × 256 ) % 101 + 105] % 101 = 65
这比删除内部 mod 运算符以便您只有一个在外部更好吗?因此:
[104 × 256 + 105] % 101
据我所知,它应该给出相同的结果,而且 mod 通常是昂贵的操作,所以拥有一个不是更好吗?
我唯一能想到的就是对溢出的担忧,但如果是这样的话,乘法也会被类似地分开,就像这样:
(104 % 101 × 256 % 101 ) % 101 + 105] % 101 = 65
【问题讨论】: