【问题标题】:How Spurious Hits in Rabin Karp algorithm equal to O (n/q)?Rabin Karp 算法中的 Spurious Hits 如何等于 O (n/q)?
【发布时间】:2016-05-01 09:23:03
【问题描述】:

我正在阅读 CLRS,因为我遇到了这一行“我们可以预期虚假命中的数量是 O(n/q),因为任意 ts 将等于 p,模 q,可以估计为 1/q。”

我将包含完整描述的网站放在 34.2 主题下

请解释我们如何预期虚假命中 = O (n/q)

供参考http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/chap34.htm

【问题讨论】:

    标签: algorithm hashmap time-complexity string-matching rabin-karp


    【解决方案1】:

    出于分析的目的,通常假设使用的哈希函数是Simple Uniform Hashing。这个假设表明,每个键都同样可能被散列到,而与其他键的散列方式无关。

    换句话说,给定q一个哈希函数可以产生的可能值,每个值的概率是1/q

    在您链接的示例中,他们讨论了 spurious hit 场景,即两个 不同 字符串散列到相同的值。给定一个简单的统一哈希,这个事件的概率是多少?

    第一个字符串被散列为值x。第二个字符串也被散列到值x 的概率是多少?我是1/q

    我推荐this lecture,它讨论了 Karp-Rabin 算法。

    【讨论】:

      猜你喜欢
      • 2016-12-27
      • 2021-11-18
      • 2022-01-10
      • 1970-01-01
      • 2018-04-09
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多