如何计算哈希表的平均填充率



我正在研究一个哈希表实现,它说当表满75%时,表的大小将增加一倍,这使它的平均填充率为:

(75 + 75 / 2) / 2 = 56%.

作者是如何得出这个公式的?如果桌子的大小增加了三倍,2会变成3吗?

(75+75/2(/2=56%。

这基本上是说,当调整大小时,表将满75%(第一个75(,但之前的调整大小会发生在表一半大的时候,所以当时元素数量会是调整大小所需的一半,所以75 / 2。在括号外,后面的/ 2取这两个载荷系数的平均值。

如果桌子的大小增加了两倍,那么我们就会有:

(75+75/3(/2=50%。

这反映了调整大小后的负载因子现在只有25%,但我们仍然有一个尾随的/ 2来获得初始25%负载因子和75%负载因子的平均值,在75%负载因子下它将再次调整大小。

最新更新