数据结构----闭散列法和双散列法计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度

设散列表为 HT[13], 散列函数为 H (key) = key %13 。用闭散列法解决冲突 , 对下列关键码序列 12, 23, 45, 57, 20, 03, 78, 31, 15, 36 造表。

(1) 采用线性探查法寻找下一个空位 , 画出相应的散列表 , 并计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度。

H(12 =12H23=10 H45=6

H57=5H20=7H03=3

H78=0, H(31 =5H15=2 H36 =10

数据结构----闭散列法和双散列法计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度_第1张图片

关于搜索不成功的平均搜索长度计算的问题:

查找失败的如何计算?首先我们已经采用线性探查法构造了一个表格,这时候当我们提供一个关键码求它进行求模运算得出下标,利用下标去表格查找对应的位置比较关键码,如果关键码不同,则一直往下查找,查到到位置为空的时候还没有查到相同关键码则宣告查找失败(原因:线性探查法表格的构造,当出现下标被占领时,则一直往下查找空余位置进行写入,所以查找失败,只要一直查找到位置为空的时候还没有查找到相同关键码,则宣告失败)

例如 ①关键码 70 % 13 = 5,查找表格,发现下标为5的位置关键码为57,则继续往下查找,发现一直查找到下标为9的时候为空,还没找到关键码为70的,则查找失败,失败次数为5次;②同理关键码 62 % 13 = 10,查找表格,发现下标为10的位置关键码为23,往下查找,查找到下标为1的位置为空,则查找失败,失败次数为5

(2) 采用双散列法寻找下一个空位 , 再散列函数为 RH ( key) = (7* key) % 10 + 1, 寻找下一个空位的公式为 Hi = (H i-1 + RH ( key )) % 13, H 1 = H ( key)。画出相应的散列表 , 并计算等概率下搜索成功的平均搜索长度。

数据结构----闭散列法和双散列法计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度_第2张图片
 

我是热爱学习的呵呵哒~如果你觉得文章很棒,对你有帮助的话,可以点赞+收藏+加关注喔~

如果文章有不正确的地方,欢迎交流指正,我将虚心请教~o(>ω<)o

我会定期更新文章,继续为您提供优质文章

 

你可能感兴趣的:(闭散列法,双散列法,数据结构)