查找
线性探测法
即从发生冲突的地址(记做d)开始,依次探查d的下一个地址,直至找到一个空位置为止。记住这句话。查找时若查到空位置还没有找到需要查找的元素则说明不在列表中。冲突次数为找到该余数位置但已经被前面的数据占位,那需要找下一个空位置放置数据,找空的过程遇到几个位置就是几次冲突,包括开始的位置。比较次数就是冲突次数加一。
1.已知一组关键字为(23,14,9,6,30,39,18),散列表的地址空间为[0…8],散列函数为H(key)=key%7,
(1)请画出以线性探测法为处理冲突的方法的散列表,并计算查找成功时的平均查找长度;
散列地址 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|---|---|
关键字 | 14 | 23 | 9 | 30 | 39 | 6 | 18 | |||
冲突次数 | 0 | 0 | 1 | 2 | 1 | 0 | 3 | |||
比较次数 | 1 | 1 | 2 | 3 | 2 | 1 | 4 |
ASL