CLRS 11.4开放寻址法

来源:互联网 发布:js点击li添加样式 编辑:程序博客网 时间:2024/05/16 18:54

11.4-1
只给出结果,如下:
这里写图片描述

11.4-2

HASH-DELETE(T,k)    i=0    repeat        j = h(k,i)        if ( T[j] == k )            T[j] = DELETED            return        i = i + 1    until T[j] == NIL or i == m    returnHASH-INSERT(T, k)    i = 0    repeat        j = h(k,i)        if ( T[j] == NIL or T[j] == DELETED )            T[j] = k            return j        else i = i + 1    until i == m    error "hash table overflow"

11.4-3
由定理11.6和11.8可得一次不成功查找和一次成功查找探查的期望上界分别是 1/(1α),1αln11α,带入 α得:
α=3/4 时不成功查找、成功查找上界分别是 4,1.85
α=7/8 时不成功查找、成功查找上界分别是 8,2.38

11.4-4
在返回 h1(k) 之前要检查散列表中的第 1/d 个元素,即 m/d 个。
现设 m=ad,h2(k)=bd,显然 a,b 互质(因为 m,h2(k) 的最大公约数是 d),且 [h2(k)m/d] mod m=[bdad/d] mod ad=0
因为 d 是最大公约数,所以不存在 j<m/d 使得 [h2(k)j] mod m=0。因此当 d=1m,h2(k) 互质且要检查整个散列表。

11.4-5
直接列出等式 11α=2αln11α,解方程得 α=0.715

0 0
原创粉丝点击