我被分配来实现一个链式哈希集:
该集合由一个链接列表数组(我称之为A[]
)支持,如果两个不同的值获得相同的哈希值k
,它们将被添加到列表中A[k]
。
该结构在有界负载因子(在区间内[0.25, 0.75]
)下工作正常。
在说明中,他们告诉我们将负载因子计算为:
负载系数 = 尺寸/容量
其中“size”是集合中当前元素的总数,“capacity”是数组的长度 ( A.length
)。
我认为这种“大小”的定义在这种情况下是不合适的,应该是A
.
例如,如果所有值都映射到同一个单元格,例如A[1]
,那么当根据负载因子重新散列时,我们将A
在实际上只使用第一个单元格时使后面的数组更大。
有人在这里看到我的逻辑有任何错误吗?