Murmurhash算法是一种快速、低碰撞的哈希算法,可以将任意长度的数据映射为一个固定的哈希值它采用了一系列复杂的位运算和乘法运算,通过多次对输入数据进行混淆和摧毁,最终获得一个高度随机化的哈希值。murmurhash算法原理?更多详情请大家跟着小编一起来看看吧!

murmurhash算法原理(1)

murmurhash算法原理(1)

Murmurhash算法是一种快速、低碰撞的哈希算法,可以将任意长度的数据映射为一个固定的哈希值。它采用了一系列复杂的位运算和乘法运算,通过多次对输入数据进行混淆和摧毁,最终获得一个高度随机化的哈希值。该算法的特点是对于不同的输入数据,哈希值具有高度的独立性和随机性,在计算哈希冲突时表现良好,是一种广泛应用于内存哈希表、哈希查找等领域的优秀哈希算法。

murmurhash算法原理(2)

murmurhash算法原理(2)

这是一种哈希算法。

计算太麻烦了,完全违背了哈希计算的简便要求!

又是移位,又是循环判断。

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; 得到哈希值