首先,将数据插入到散列表中,使用线性探测法,当遇到冲突时,向后依次查找空闲的位置,直到找到空闲位置为止。插入后的散列表如下:

0: 29 1: 2: 3: 4: 63 5: 51 6: 44 7: 65 8: 9: 10: 17

接下来,计算等概率查询的平均次数。对于散列表中的每个位置,等概率查询的次数为 (1+1/2+1/3+...+1/n),其中n为该位置后面第一个空闲位置的下标减去该位置的下标。例如,对于位置0,n为2,所以等概率查询的次数为 (1+1/2) = 1.5。对于位置1,n为4,所以等概率查询的次数为 (1+1/2+1/3+1/4) = 2.08。以此类推,可以得到如下表格:

位置 | n | 等概率查询次数 ---- | - | -------------- 0 | 2 | 1.5 1 | 4 | 2.08 2 | 2 | 1.5 3 | 1 | 1 4 | 3 | 1.83 5 | 2 | 1.5 6 | 3 | 1.83 7 | 3 | 1.83 8 | 2 | 1.5 9 | 1 | 1 10 | 0 | 0

最后,将等概率查询次数求和并除以散列表的长度,即可得到等概率查询的平均次数:

(1.5+2.08+1.5+1+1.83+1.5+1.83+1.83+1.5+1)/11 ≈ 1.62

因此,等概率查询的平均次数为1.62次

29 41 63 51 44 65 17散列函数为 value11使用线性探测法等概率查询的平均次数是多少

原文地址: https://www.cveoy.top/t/topic/fJXR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录