关于哈希表扩容策略选择的一点总结

本篇哈希表的扩容策略,主要讨论扩容时如何计算扩容大小的问题。
第一种方法是:扩容大小应当保持是2的幂。
第二种方法是:扩容大小应当是一个素数。

“2的幂”策略

计算机的运算当中,位运算的速度是快于取余运算的。而在哈希表中,我们常见的关键字与哈希表的转换,是取关键字对哈希表长度取余。

所以伴随“2的幂”策略,使用位运算(例如“&”运算)取余 可以获得运算速度上的提升

“素数”策略

当采用“素数”策略时,通过位运算取余显然已不可取。

但是利用取余运算时,由于素数作为哈希表的长度,可以 产生最分散的余数,从而尽可能减小哈希冲突。

你可能感兴趣的:(关于哈希表扩容策略选择的一点总结)