您是否有任何關於選擇用於(乘法)散列函數的乘數的建議/規則?該函數計算一個字符串的散列值。爲(字符串)散列函數選擇乘數
12
A
回答
3
你想用的東西,是相對素的集合的大小。這樣,當你循環時,你不會以剛剛嘗試過的相同數字結束。
1
從歷史上看,33似乎是一個流行的選擇,它往往工作得很好。然而,沒有人知道爲什麼。有關詳細信息,look here
2
最近我和一位同事就哈希函數進行了一次有趣的討論。我們的結論如下:
如果你真的需要編寫減少比你需要在數學的先進程度的標準語言提供的默認實現更多的碰撞好的哈希函數。
如果你正在編寫的應用程序,其中一個自定義的哈希函數將顯着提高應用程序的性能,你是谷歌和你有足夠的數學博士做的工作。
對不起,沒有直接回答你的問題,但底線是,有實在沒有必要寫自己的哈希函數的字符串。你在用什麼語言?我會想象有一個簡單的方法來計算「足夠好」的哈希碼。
相關問題
- 1. 字節爲字符串散列函數?
- 2. 良好的字符串散列函數
- 3. 字符串的散列函數
- 4. 字符串散列函數C
- 5. 雙向字符串散列函數
- 6. 字符串散列函數C
- 7. 字符串的通用散列函數
- 8. 作爲散列函數鍵的字符串數組?
- 9. 整數散列函數與精度的字符串
- 10. 字符串數組。選擇
- 11. 帶特殊字符的散列函數?
- 12. 散列字符的Emacs函數
- 13. 整數散列到字符串值
- 14. matplotlib散列圖與字符串數組
- 15. 對某些字符串不起作用的字符串的散列函數?
- 16. 以字符串和整數作爲鍵的哈希表的散列函數
- 17. 選擇函數的子集作爲字符串&評估
- 18. 將符號散列分割爲字符串數組和鍵值
- 19. Rails將選項散列成字符串
- 20. 快速訪問散列函數(不使用字符串對象)
- 21. 有沒有可以將字符串變成散列的函數?
- 22. 創建一個字符串向量函數的散列表
- 23. 用於cakephp散列函數的最大字符串長度
- 24. 短文件名的最佳字符串散列函數
- 25. .NET字符串散列函數是否可移植?
- 26. 將散列字符串轉換爲格式化的數字?
- 27. 拆分字符串參數並選擇該字符串數組?
- 28. PL/SQL - 選擇列值作爲字符串數組
- 29. 根據字符串參數選擇構造函數?
- 30. 數據表選擇(字符串)函數幫助VB .NET
以下頁面提供了一些通用散列函數的實現,這些散列函數高效並且表現出最小的衝突:http://partow.net/programming/hashfunctions/index.html – 2010-10-31 23:11:12