设散列表的地址空间为0到10,散列函数为h(k)=kmod11,用线性探查法解决碰撞。现从空的散列表开始,依次插入关键码值84,3,16,68,104,则最后一个关键码104的地址为

admin2012-10-29  30

问题 设散列表的地址空间为0到10,散列函数为h(k)=kmod11,用线性探查法解决碰撞。现从空的散列表开始,依次插入关键码值84,3,16,68,104,则最后一个关键码104的地址为

选项 A、4
B、5
C、6
D、7

答案C

解析 处理碰撞的方法基本有两类:拉链法和开地址法(线性探查法)。用线性探查法处理碰撞就是当碰撞发生时形成一个探查序列,沿着这个序列逐个地址探查,直至找到一个开放的地址(即未被占用的单元),将发生碰撞的关键码值存入该地址中。最简单的探查序列是线性探查,即若发生碰撞的地址为d,则探查的地址序列为:
d+1,d+2,…,m-1,0,1,…,d-1
其中,m是散列表存储区域的大小。由散列函数h(k)=kmod11知,关键码值的地址依次为:7,3,5,2,5,而地址5存放16为解决碰撞将104放入地址6。
转载请注明原文地址:https://jikaoti.com/ti/e847FFFM
0

最新回复(0)