【发布时间】:2011-02-07 19:42:58
【问题描述】:
线性探测插入、删除和搜索的运行时间是多少(大哦)。
谢谢
【问题讨论】:
标签: hashtable
线性探测插入、删除和搜索的运行时间是多少(大哦)。
谢谢
【问题讨论】:
标签: hashtable
理论上最坏的情况是 O(n),因为如果你碰巧插入了所有元素,使得它们连续碰撞,那么最后插入的元素必须从原始哈希位置开始放入表中 n 步。
但是,如果您知道输入元素的分布(可能假设是随机的,但当然假设是母亲......),您可以计算平均预期步数,知道您的散列函数的分布(希望是均匀的,但这取决于算法的质量)、哈希表的长度和插入的元素数量。
如果您的散列函数足够均匀,您可以使用生日问题计算碰撞概率,并根据这些概率计算预期探测长度。
【讨论】: