我正在寻找一种具有良好(即接近均匀)分布的高速哈希函数,以用于哈希表实现中。
哈希表将专门用于存储带有整数键的值。
我可以只使用整数的低位作为哈希吗?
例如int key = n&15;并创建一个具有16个插槽的阵列来存储它们。
有什么建议吗?
最佳答案
您可以在这里看到xxhash
您提到的哈希函数非常快,但是也很糟糕。
如果您想使用“愚蠢”的哈希函数,则可以考虑模数。
例:
int key = item % size_of_hash_table
我正在寻找一种具有良好(即接近均匀)分布的高速哈希函数,以用于哈希表实现中。
哈希表将专门用于存储带有整数键的值。
我可以只使用整数的低位作为哈希吗?
例如int key = n&15;并创建一个具有16个插槽的阵列来存储它们。
有什么建议吗?
最佳答案
您可以在这里看到xxhash
您提到的哈希函数非常快,但是也很糟糕。
如果您想使用“愚蠢”的哈希函数,则可以考虑模数。
例:
int key = item % size_of_hash_table