假设我们有一个大小为m的哈希表,并且在每个桶中我们存储一个大小为p的哈希表。 最坏情况/平均案例搜索复杂度会是什么?
我倾向于说,由于计算哈希函数仍然是原子的,唯一最糟糕的情况是,如果值位于大小为p的哈希表中链表的末尾,那么O(n)?
我不知道如何计算这种情况的平均情况,并希望任何指针!
答案 0 :(得分:1)
是的,如果通过添加到链接列表解决冲突,它在最坏的情况下仍然是线性的。第一级具有n
个插槽且第二级具有p
的两级哈希表与具有np
个插槽的单级哈希表相同。您添加的所有元素都可以在同一个第二级插槽中结束,所有元素都会添加到同一个链表中,等等。根据这一观察结果,平均情况复杂度与{{1}的单级散列表相同。使用链接列表来解决冲突的插槽。