【发布时间】:2010-10-12 08:13:57
【问题描述】:
我需要一个 C++ 中面向性能的哈希函数实现,用于我将编码的哈希表。我已经环顾四周,只发现了一些问题,询问“一般”什么是好的散列函数。我考虑过 CRC32(但在哪里可以找到好的实现?)和一些密码算法。不过,我的桌子有非常具体的要求。
这就是桌子的样子:
100,000 items max
200,000 capacity (so the load is 0.5)
hashing a 6-character string which is a part of English sentence
examples: "become" "and he" ", not "
我的哈希表的第一优先是快速搜索(检索)。快速插入并不重要,但它会伴随着快速搜索而来。删除并不重要,我不会研究重新散列。为了处理冲突,我可能会使用here 中描述的单独链接。我已经看过this article,但想听听那些曾经处理过此类任务的人的意见。
【问题讨论】:
-
我还添加了一个您可能喜欢的哈希函数作为另一个答案
-
如果你绝望了,为什么不为此提供代表赏金?
-
rep bounty:如果没有人愿意提供有用的建议,我会提出,但我很惊喜 :)
-
无论如何,赏金的一个问题是您必须在 2 天后才能放置赏金
-
您是否考虑过使用以下一种或多种通用哈希函数:partow.net/programming/hashfunctions/index.html 它们非常快速且高效。