gpt4 book ai didi

performance - 正确的大整数哈希函数,还是应该将它们转换为字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:34 27 4
gpt4 key购买 nike

我有一个应用程序,其中每个元素都由唯一的 32 位数字(也称为“ key ”)标识。我主要关心的是在哈希表中查找任何特定键以获取附加元素的速度。我对哈希表的选择是 ELF、PJW 和 BKDR。安全性不是问题,那么在这种情况下,这些哈希算法中的哪一个将创建具有最佳查找速度的表?

另一个考虑因素。如果我将数字转换为它的字符串表示并将其用作 key ,我会获得更好的性能吗?

注意:我确实找到了这个相关的 SO 线程:

What integer hash function are good that accepts an integer hash key?

但接受的答案在评论中有一些看似合理的反对观点,而且所有其他答案中的警告和意见的传播让我仍然不确定我的用例场景的最佳算法。

最佳答案

找到一个好的、快速的散列函数的问题已经解决:http://code.google.com/p/smhasher/wiki/MurmurHash3

基于 Knut 乘法哈希等数学技巧的哈希函数的时代已经结束。现代哈希使用二进制操作。

也许你可以只取你已经拥有的整数,根本不散列它。如果冲突太多,这只是由于某些特殊的数据分布而发生的,请使用 MurmurHash。

关于performance - 正确的大整数哈希函数,还是应该将它们转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com