【发布时间】:2017-05-10 15:19:48
【问题描述】:
在 Rabin Karp 子串搜索算法中:
1) 计算子串的哈希值 2)取一个滑动窗口[等于子字符串的大小],并将窗口中存在的字符串的哈希值与子字符串的哈希值进行比较。 3)如果哈希匹配,那么我们将窗口内容与子字符串进行比较。
问题: 1)首先匹配哈希然后比较在性能方面有什么好处?为什么我们不能只是比较?比较哈希可以更快,但如何(我没有得到)?
【问题讨论】:
-
您是否阅读了维基百科的文章,尤其是关于滚动散列函数的部分? en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm
-
@IanMercer : 哦,是的,我也读到了滚动哈希函数……让我印象深刻的是,我们可以以滚动方式将字符串与子字符串进行比较……无论如何,现在一切都很好清除。
标签: algorithm rabin-karp