【问题标题】:Separate chaining in hash map哈希映射中的单独链接
【发布时间】:2020-08-24 15:58:28
【问题描述】:

我对分离链的理解是,我们将一个大数转换成一个小数,这样我们就可以将它用作索引。但是我们如何处理大索引呢?比如我的hash_map当前大小是10,hash函数计算出来的新索引是55,那么每次新索引太大时我需要重新调整hash_map的大小吗?

谢谢!

【问题讨论】:

    标签: algorithm data-structures hashmap hashtable


    【解决方案1】:

    一种常见的技术是使用一个哈希函数来计算某个整数(通常是 32 位或 64 位),然后通过将该整数修改为表大小,将数字减少为哈希表中的有效索引。例如,如果您有一个 10 元素的哈希表并且您的哈希码是 55,那么您将计算 55 mod 10 = 5 并将该项放在索引 5 处。

    根据您的编程语言,此处可能需要处理一些边缘情况(例如,如果哈希码可能为负,您需要确保索引为正),但这个总体思路非常有效并被使用在许多常见的哈希表实现中。

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 2012-08-05
      • 2016-01-18
      相关资源
      最近更新 更多