二次探测再散列法解决哈希冲突
此法通过不断增加步长来找到下一个可以用的插入位置
例题
设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是
首先我们通过哈希函数计算49的哈希值,H(49)=49%11=5;
如果这时候哈希表的位置5为空,那就直接放这里就ok
如果位置5已经被占用,那我们这时候就要用二次探测再散列法来寻找下一个合适的位置了
注意公式
di= i 2 ( i为探测次数)
第i次探测位置=(初始位置+di)%哈希表长度
第1次探测位置=(5+12)%14=6,发现位置6已经被占用,继续探测
第2次探测位置=(5+22)%14=9,位置9为空,则落座
答案为9