我正在寻找一种具有良好(即接近统一)分布的高速散列函数,以便在哈希表实现中使用。
哈希表将专门用于存储带有整数键的值。
我可以使用整数的低几位作为哈希吗?
例如int key = n& 15;并创建一个包含16个插槽的数组来存储它们。
有什么建议吗?
答案 0 :(得分:3)
您可以在此处查看xxhash
你提到的哈希函数非常快,但它也非常糟糕。 如果你想要一个“愚蠢”的哈希函数,你可以考虑模数。
示例:
int key = item % size_of_hash_table
答案 1 :(得分:0)
好吧,昨晚我做了一个多功能哈希测试(在C中),它涵盖了几个顶级枪支和38个不同的键。
欢迎大家以以下方式对其进行基准测试: http://www.overclock.net/t/1319572/benchmarking-the-fastest-hash-function/0_20#post_18495990
我很高兴透露英特尔 vs AMD 和 Intel 12.1 编译器与 Microsoft 16 (VS2010)之间的关系编译器组合在你的帮助下行事。