Data structures 哈希表中的哈希分析

Data structures 哈希表中的哈希分析,data-structures,hash,hashtable,Data Structures,Hash,Hashtable,哈希值的搜索时间为O(1+alpha),其中 我不明白为什么要加1 检查的预期元素数为 (1/n summation of i=1 to n (1+(i-1/m))) 我也不明白,它是怎么推导出来的 (我知道如何解决上述表达式,但我想了解它是如何导致此表达式的…) 编辑:n是存在的元素数,m是插槽数或表格大小 我不明白为什么要加1 O(1)表示即使bucket或哈希表中根本没有元素,也必须计算密钥哈希值,因此它不会是瞬时的 你的第二部分需要精确。见我的评论 编辑: 你的第二部分是用于“摊销分

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

我不明白为什么要加1

检查的预期元素数为

(1/n  summation of i=1 to n (1+(i-1/m)))
我也不明白,它是怎么推导出来的

(我知道如何解决上述表达式,但我想了解它是如何导致此表达式的…)

编辑:n是存在的元素数,m是插槽数或表格大小

我不明白为什么要加1

O(1)表示即使bucket或哈希表中根本没有元素,也必须计算密钥哈希值,因此它不会是瞬时的

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

编辑:
你的第二部分是用于“摊销分析”,其思想是在一个初始空散列表中考虑N个插入中的每一个插入,每个查找将使用O(1)散列加O(I/M)搜索桶内容,考虑每个桶相对于先前元素均匀填充。总和的分辨率实际上给出了O(1+α)摊销时间。

请指定在哪个操作期间“检查元素”?在单个查找过程中?在你的表达式中,
m
n
是什么
n
可能是元素总数,但
m
?@armel谢谢。。我在一次搜索操作中编辑了这个问题,是的,n是表中的元素数。它意味着搜索该特定元素,在恒定时间内计算相同元素的键散列值O(1)…我是否正确?这里的O(1)意味着它与元素数和散列表的大小无关。这当然取决于关键的复杂性。计算一个整数的散列键可能很简单,并且是常数时间,所以O(1),而字符串的散列键可能是O(字符串大小)等等。好的,谢谢。关于第二部分的信息是相关的吗?我还需要其他信息吗?
(1/n  summation of i=1 to n (1+(i-1/m)))