在哈希表中搜索哈希表的复杂性?

时间:2012-07-01 15:12:10

标签: hashtable time-complexity

假设我们有一个大小为m的哈希表,并且在每个桶中我们存储一个大小为p的哈希表。 最坏情况/平均案例搜索复杂度会是什么?

我倾向于说,由于计算哈希函数仍然是原子的,唯一最糟糕的情况是,如果值位于大小为p的哈希表中链表的末尾,那么O(n)?

我不知道如何计算这种情况的平均情况,并希望任何指针!

1 个答案:

答案 0 :(得分:1)

是的,如果通过添加到链接列表解决冲突,它在最坏的情况下仍然是线性的。第一级具有n个插槽且第二级具有p的两级哈希表与具有np个插槽的单级哈希表相同。您添加的所有元素都可以在同一个第二级插槽中结束,所有元素都会添加到同一个链表中,等等。根据这一观察结果,平均情况复杂度与{{1}的单级散列表相同。使用链接列表来解决冲突的插槽。