46得票2回答
简单哈希函数

我正在尝试编写一个使用哈希表来存储不同单词的C程序,希望能得到一些帮助。 首先,我创建了一个哈希表,其大小为离需要存储的单词数量最近的质数,然后使用哈希函数为每个单词找到一个地址。 我从最简单的函数开始,将字母加在一起,但结果有88%的碰撞。 然后我开始尝试其他函数,并发现无论如何修改,碰撞...

9得票3回答
C++:关于一个字符串序列的哈希函数的建议,其中字符串的顺序是无关紧要的。

假设您有这两个字符串序列 abc cba bc bc abc cba 我试图为这样的序列创建映射(序列也是字符串),以便上述两个序列被映射到同一个桶中。 我的初步想法是将分别应用哈希函数的结果相加。这样它们的顺序就不重要了。如果我将哈希函数应用于整个序列字符串,那么哈希结果当然会不同。...

8得票4回答
djb2哈希函数

我正在使用djb2算法为一个字符串生成哈希键,如下所示。 hash(unsigned char *str) { unsigned long hash = 5381; int c; while (c = *str++) hash = ((hash &l...

7得票3回答
Java哈希码反向计算

我会尽力为您翻译相关的技术内容。以下是需要翻译的内容: 我想测试一下如何使用String哈希码,通过添加一个新字符并做相反操作来减去它,但是当我进行计算时,没有得到正确的答案。 例如 int PRIME = 31; //this will print 1687846330 Syste...