线性探测的开放定址法处理散列存储的冲突

今天看到一道基础题,将解题过程记录下来,和大家分享。 

1、题目

        

已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%6计算散列地址进行散列存储,若用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为()。

 

      A. 1.5          B. 1.7          C. 2          D. 2.3

 

2、解题过程

        (1)计算h(k):   38%6 = 2       25%6 = 1       74%6 = 2      63%6 = 3      52%6 = 4      48%6 = 0

        (2)定址:              

                                   地址:      0                1                2                3                4                5

1、线性表第1个元素(38):                                          38(第1 次不冲突)

2、线性表第2个元素(25):                       25(第1次不冲突)

3、线性表第3个元素(74):                                           74(第1 次冲突,地址 + 1)

4、线性表第3个元素(74):                                                             74(第2 次不冲突)

5、线性表第4个元素(63):                                                             63(第1 次冲突,地址 + 1)

6、线性表第4个元素(63):                                                                              63(第2 次不冲突)

7、线性表第5个元素(52):                                                                              52(第1 次冲突,地址 + 1)

8、线性表第5个元素(52):                                                                                             52(第2 次不冲突)

9、线性表第6个元素(48):    48(第1次不冲突)

经过上述定址过程,线性表中的各个元素都有了唯一的地址。

3、结果

        线性表中的 6 个元素,经过9次定址,

在该散列表上进行查找的平均查找长度为:9/6 = 1.5,  答案选:A

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值