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