在哈希表上运行线性探测的时间

时间:2010-04-14 08:39:40

标签: hashtable

插入,删除和搜索时线性探测的运行时间(大哦)是什么。

由于

1 个答案:

答案 0 :(得分:3)

理论上最坏的情况是O(n),因为如果你碰巧插入所有元素使它们连续碰撞,那么插入的最后一个元素必须从其原始散列位置开始n步进入表中。

如果您知道输入元素的分布(可能假设随机,但当然假设是母亲......),您可以计算平均预期步数,知道散列函数的分布(希望统一,但这取决于算法的质量),哈希表的长度和插入的元素数量。

如果您的散列函数足够均匀,您可以使用生日问题计算碰撞概率,并根据这些概率计算预期探测长度。