【发布时间】:2023-03-03 14:07:02
【问题描述】:
我正在寻找一个利用以下要求的哈希函数:
- N 个不同的整数值将存储在哈希表中
- 在任何给定时间点,哈希表中存在的值不会超过 M 个
- 哈希表在多个查询中保持静态(即在某些时候整个哈希表将被初始化,以下调用仅从哈希表中读取)
- 在哈希表初始化时已知最大可能的键值 K (K >> N)
- 每个查询的键值对都存在于哈希表中
到目前为止,我使用的哈希函数如下: h(k) = 7 * k % M 其中 M = PRIME_CLOSE_TO(7*N)
7 有点随意。
您对如何改进有什么建议吗?
【问题讨论】:
标签: hash hashmap hashtable hash-function