一、概述
MOD(取模)運算配合質數的特性,可以實現一種簡單的哈希算法。
二、基於的定理
在理解如何實現mod哈希前應當了解一些數學的定理:
1.x mod y = z ,實際上是x除以y的余數y的意思;
2.假設 x / y = z ,即 x 是被除數,y 是除數,z 是商;
3.除法規定:除數不能為0,但是被除數可以;
4.mod運算與/規則是一致的,只不過最后的結果z,mod是余數;
5.質數是只能被0和自身整除的數;
三、算法
x mod y = z
如果理解用到的基本數學定理,那么這個算法是相當容易理解的;
假設y是一個質數,那么x mod y的結果z,永遠都等於+-y,至於y是正數還是負數,則取決於x是正數還是負數;
四、運用
1.可用於簡單的哈希表,尋找一個足夠大的質數作為除數y,可以實現長度為y的哈希表;
2.可用於簡單的負載均衡算法,例如利用訪問流量時間戳作為被除數x,可以實現把不同流量分發到不同的負載點;