murmurhash算法原理?
這是一種哈希算法。
計算太麻煩了,完全違背了哈希計算的簡便要求!
又是移位,又是循環(huán)判斷。
while(*key)//遍歷字符串
{ h=(h<<4)+*key++;//把h左移4位加上該字符付給h
unsigned long g=h&0Xf0000000L;
//取h的高四位付給g
if(g) h^=g>>24;//如果g不為0,讓h和g的高八位異或再付給h
h&=~g;//對g取反并與h相與付給h
}
return h%MOD; //得到哈希值
murmurhash算法原理?
這是一種哈希算法。
計算太麻煩了,完全違背了哈希計算的簡便要求!
又是移位,又是循環(huán)判斷。
while(*key)//遍歷字符串
{ h=(h<<4)+*key++;//把h左移4位加上該字符付給h
unsigned long g=h&0Xf0000000L;
//取h的高四位付給g
if(g) h^=g>>24;//如果g不為0,讓h和g的高八位異或再付給h
h&=~g;//對g取反并與h相與付給h
}
return h%MOD; //得到哈希值