什么整數散列函數適合接受整數散列鍵?什么整數散列函數適合接受整數散列鍵?
3 回答

莫回無
TA貢獻1865條經驗 獲得超7個贊
Knuth的乘法方法:
hash(i)=i*2654435761 mod 2^32
通常,您應該選擇一個乘以您的散列大?。?code>2^32在示例中)的乘數,并且沒有與之相關的公因子。這樣,哈希函數統一覆蓋了所有哈??臻g。
編輯:這個哈希函數的最大缺點是它保留了可分性,所以如果你的整數都可以被2或4整除(這并不罕見),它們的哈希也是如此。這是哈希表中的一個問題 - 您最終只能使用1/2或1/4的桶。
添加回答
舉報
0/150
提交
取消