gpt4 book ai didi

c# - 字典/hash_map 键大小

转载 作者:行者123 更新时间:2023-11-27 23:32:29 27 4
gpt4 key购买 nike

key 的哈希值被计算出来并除以一个质数。一般来说,是否有任何标准素数(比如 32/64 位)?

我的理解是哈希表不可调整大小/不可调整,其内部数组取决于此。如果我有一个只有 5 个元素的哈希表,键空间是否会浪费?

编辑:我应该更好地构图。 c++ hash_map (boost) 或 C# Dictionary 遵循的一般方法是什么

最佳答案

事实上,哈希表的大小可以自动调整。您可能要做的是分配一个大小为 N 的数组,使用散列模 N(某个素数)对数组进行索引。如果您跟踪分配的密度,那么当它增加到超过某个阈值时,您可以分配一个大小为 N1(一些更大的质数)的新数组,并从旧数组中复制每个元素,将哈希函数与new 模以在新哈希表中找到它的位置。最后,您释放旧数组并使用更大的新数组。

关于c# - 字典/hash_map 键大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com