我们如何找到这组字符串的最有效的哈希函数(碰撞的可能性最小)。哈希函数的确定
假设我们给了一些字符串..而字符串的长度也没有定义。 阿贾伊 维杰 拉祈彩 ....
我们知道的不计数。可用的字符串,所以我们可以设计一个大小的哈希表(可用的计数)。什么可能是我们可以为这样的问题设计的完美散列函数?
以增量方式将每个字符的ascii值乘以31(主要编号)将导致散列值大于MAX_INT的值,然后模数将无法正常工作......所以请给出一些有效的散列函数构建up解决方案....
我有几个字符串集,可以说count = 10 ....我需要实现一个哈希函数,使所有这10个字符串适合哈希表中的唯一...任何完美的散列函数O(1)都可用,对于这种问题??哈希表的大小将是10,这种情况下...
只有C语言编程...
请解释逻辑在网站.... http://burtleburtle.net/bob/c/perfect.c 这看起来很复杂,但完美的我..! !这里使用的算法是什么......马上阅读代码,非常困难!
谢谢....
哦,这些解决方案是没有帮助亲爱的....是否存在任何解决方案可以给出一组给定的字符串完美的哈希值..没有字符串可能会非常大....完美的哈希解决方案!它是否存在..? – AGeek 2011-03-16 19:05:34
@Necrolis推荐的gperf程序是一个实际工作的开源程序。您可以下载并查看源代码,看看它是如何完成的。很难想象一个比这更好的例子。 – 2011-03-16 19:10:20
那么这个网站上的代码呢... – AGeek 2011-03-16 19:20:07