我們如何找到這組字符串的最有效的哈希函數(碰撞的可能性最小)。哈希函數的確定
假設我們給了一些字符串..而字符串的長度也沒有定義。 阿賈伊 維傑 拉祈彩 ....
我們知道的不計數。可用的字符串,所以我們可以設計一個大小的哈希表(可用的計數)。什麼可能是我們可以爲這樣的問題設計的完美散列函數?
以增量方式將每個字符的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