【问题标题】:hashtable size and significant bits of key哈希表大小和密钥的有效位
【发布时间】:2012-04-27 22:30:36
【问题描述】:

我有一个关于哈希表大小和模块化哈希的问题。我指的哈希算法如下: hash_key % table_size = array_index. 我正在阅读一本算法教科书,其中给出了以下建议:

如果表大小不是素数,则可能是键的所有位在确定array_index时都不起作用。

谁能用一个例子来解释这到底是什么意思?

【问题讨论】:

    标签: hash hashtable modulo


    【解决方案1】:

    您要避免的是共同因素。有一个定理指出,每个数字都可以表示为素数的乘积。

    因此,如果你有一个素数作为 mod。您将不会分享该部门中的任何因素。

    假设 A % 30,因此 2、3 和 5 的任何倍数将共享除法中的因子,而该因子在除法中将无用。

    250/30 = 50 / 6 = 25 / 3

    你想尽量减少无用的因素。

    【讨论】:

      猜你喜欢
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多