哈希表平均查找长度ASL计算

最近复习时关于计算哈希表平均查找长度计算有感:

采用   线性探测再散列法,二次探测法   处理冲突构建的哈希表中,查找失败时的平均查找长度如何计算?
例:已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79)
哈希函数为: H(key)=key MOD 13,哈希表长为m=15,设每个记录的查找概率相等,查找失败时的平均查找长度各是多少?

1.线性探测构建的哈希表:

成功ASL的计算不做讨论,失败时候的ASL计算过程如下:

1.有多少种情况? 因为哈希函数为  key MOD 13 所以总的情况是 0至12 因为对13取余的结果只能是这是十三种情况 

这里的情况指的是我们查找任意一个数字对13取余 数字落点 的情况有多少种

2.冲突次数是多少?从下标为1开始也就是14开始一直比较到下表为13为止 查找结束-记为一次查找失败共比较了13次,同理可推下标为2,3,4..

不要忘记了 下标为0 的位置 只需要比较一次 即为查找失败

3.计算公式

ASL(UNSUCC)=总比较次数/总情况数=1+13+12+...+2/13 别忘记了1

2.二次探测构建的哈希表:

1.总情况数:同样的对13取余也只有13种

2.冲突次数:同上述描述-但二次探测的下一次比较元素下标的与线性探测不同需要注意

因为 di=1^2,-1^2,2^2,-2^2,3^2,-3^2..  ^2为平方

需要注意什么时候我们算查找结束呢 一般是比较到了空位置的时候

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值