哈希表中的哈希分析

时间:2014-06-26 05:51:19

标签: data-structures hash hashtable

哈希值的搜索时间是O(1 + alpha),其中

 alpha = number of elements/size of table

我不明白为什么添加1?

检查的预期数字元素是

(1/n  summation of i=1 to n (1+(i-1/m)))

我也不明白这一点。它是如何衍生出来的?

(我知道如何解决上面的表达式,但我想了解它是如何导致这个表达式的。)

编辑:n是存在的元素数,m是时隙数或表的大小

1 个答案:

答案 0 :(得分:1)

  

我不明白为什么添加1?

O(1)告诉我即使桶中没有元素或哈希表,你也必须计算密钥哈希值,因此它不会瞬时的。

你的第二部分需要精确。看我的评论。

编辑: 你的第二部分用于"摊销分析",我们的想法是在最初为空的哈希表中的一组n次插入中考虑每次插入,每次查找将采用O(1)哈希加O( i-1 / m)搜索桶内容,考虑每个桶相对于先前元素均匀填充。总和的分辨率实际上给出了O(1 + alpha)摊销时间。