我正在寻找一个具有良好(即接近均匀)分布的高速哈希函数,用于哈希表的实现。
哈希表将专门用于存储具有整数键的值。
我可以只使用整数的较低的几位作为散列吗?
例如int key =n& 15;,并创建一个具有16个槽的数组来存储它们。
有什么建议吗?
发布于 2012-10-31 00:35:18
你可以在这里看到xxhash
你提到的散列函数非常快,但它也很糟糕。如果你想要一个“愚蠢的”哈希函数,也许你可以考虑模数。
示例:
int key = item % size_of_hash_table发布于 2012-10-31 23:47:05
好吧,昨晚我做了一个通用的散列测试(用C语言),它涵盖了几个顶级散列器和38个不同的键。
欢迎大家在http://www.overclock.net/t/1319572/benchmarking-the-fastest-hash-function/0_20#post_18495990上进行基准测试。
在您的帮助下,我将很高兴向您介绍英特尔与AMD和英特尔12.1编译器与微软16 (VS2010)编译器组合的表现。
https://stackoverflow.com/questions/10797323
复制相似问题