哈希图通常使用桶的内部数组(表)实现。访问哈希图通过键时,我们使用键类型特定(逻辑类型特定)的哈希函数获取密钥的哈希码。然后,我们需要将哈希码映射到实际的内部存储桶索引。
key -> (hash function) -> hashcode -> (???) -> index in internal table
有时内部表可能会根据哈希映射填充比率而收缩和扩展。那么,哈希码->索引转换方法可能需要稍作更改。
例如,我们的哈希函数返回32位无符号整数值,且
A时刻:内部表容量为10000
B时刻:内部表容量为100000
通常用什么算法或方法来执行哈希码->内部表索引转换?如何解决表调整大小问题?