gpt4 book ai didi

c - C 的最小哈希函数?

转载 作者:太空狗 更新时间:2023-10-29 16:20:06 24 4
gpt4 key购买 nike

我不能使用 boost:hash,因为我必须坚持使用 C 而不能使用 C++。

但是,我需要散列大量(10K 到 100k)的标记字符串(5 到 40 字节长度),以便在其中进行最快的搜索。

MD5、SHA1 或任何长散列函数对于一项简单的任务来说似乎太重了,我不是在做密码学。此外还有存储和计算成本。

因此我的问题:

  1. 在大多数实际情况下可以确保防止冲突的最简单的哈希算法是什么。

  2. 散列值使用多少位?我正在为 32 位系统开发。 Perl/Python 中的哈希算法是否也使用 32 位哈希?还是必须跳到 64?

  3. 关于在常见脚本语言中实现哈希表:实现是否检查冲突,或者我是否可以完全避免这部分?

最佳答案

您可以在 找到一个好的(且快速的)散列函数和一个有趣的读物。 http://www.azillionmonkeys.com/qed/hash.html

您唯一不应该检查冲突的情况是,如果您使用完美散列 -- 一个很好的老式查找表,如 gperf .

关于c - C 的最小哈希函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/743939/

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