在链接中成功搜索哈希表的平均成本

时间:2015-04-05 15:07:50

标签: performance algorithm hashmap chaining asymptotic-complexity

我已搜索过每一个地方,但我无法理解为什么是O(1 + a / 2) 其中a是负载系数。有人可以一步一步地解释这一点。

1 个答案:

答案 0 :(得分:2)

让哈希表中的元素数量为n
这意味着哈希表中有n/a个单元格(/行),每个单元格都包含一个元素列表。这是载荷因子的定义。

因此,每个此类单元格所预期的元素数量为n/(n/a) = a
未排序列表中的线性搜索需要遍历一半的元素,直到它平均找到正确的元素(并且我们假设它是成功的搜索),因此它需要遍历a/2个元素。 / p>

1因子来自访问哈希表本身的正确列表。