为什么散列表的搜索时间不成功,时间复杂度Θ(1 +α)?

时间:2017-07-16 20:12:49

标签: python algorithm hash hashmap hashtable

我得到Θ(1)部分是用于计算哈希表的时间,但我不理解Θ(α)部分。

在我看来,时间复杂度是Θ(n)。假设α是预期长度,表格有m个槽。为了确保密钥不在表中,我们需要搜索每个槽,每个槽都有α除外长度,因此总时间是α乘以m,那么它是Θ(n)。

有人能告诉我哪个部分我不能正确理解吗?

1 个答案:

答案 0 :(得分:2)

测试给定密钥是否在哈希表中不需要测试所有插槽。您只需计算给定键的哈希值(1)。该哈希值标识密钥必须在哪个槽中,如果它在哈希表中。因此,您只需要将该槽中的所有条目(α)与给定的密钥进行比较,得到Θ(1 +α)。您无需查看其他插槽,因为该密钥无法存储在任何其他插槽中。