乘法散列法 | 及特殊情况证明
当字长为w, m = 2^p, s = A * 2^w, 时,h(k) = floor[((s * k)& (2^w-1))>>(w-p)].也即使用了位运算,提高了计算速度。首先,常规乘法散列算法计算,h(k) = floor(m * ((k * A) mod 1))。基于乘法散列法,也有斐波那契散列法,感兴趣的朋友,可以进一步了解一下。,(书上说的很清楚,大家认真看下就行)下面,跟随一个例子,详细解析这个过程。利用位运算,简化运算,提高运算速度。参考:算法导论中文第三版 p148。
原创
2023-05-06 21:46:44 ·
262 阅读 ·
1 评论