【发布时间】:2014-08-24 16:48:21
【问题描述】:
Hashmaps 通常使用存储桶的内部数组(表)来实现。在按键访问 hashmap 时,我们使用 key-type specific(logic type specific) 散列函数获取 key 的 hashcode。然后我们需要将 hashcode 映射到实际的内部 buckets 表索引。
key -> (hash function) -> hashcode -> (???) -> index in internal table
有时内部表可能会缩小和扩大,具体取决于 hashmap 填充率。那么可能hashcode->index转换方法可以稍微改变一下。
例如我们的哈希函数返回 32 位无符号整数值和
时刻 A:内部表容量为 10000
时刻 B:内部表容量为 100000
hashcode->internal table index转换通常使用什么算法或方法?如何为他们解决表格调整大小问题?
【问题讨论】:
标签: algorithm data-structures hash hashmap containers