散列表,这一篇就够了,平方探测法,有负值
平方探测法(二次探测),包含所有情况
概念介绍:以增量序列1^2 -1^2, 2^2, -2^2, …… , q^2, -q^2,且 q<= [Size/2 ] 循环试探下一个存储地址。
实例如下:三设哈希表表长为m=13,哈希函数H(k)=K mod 11,表中已经放了61,15,38,84四个记录,如图所示,再以此放入关键字49,55,1,66两个记录。完成下列要求。
1.采用线性二次探测再散列处理冲突,画出最终的哈希表,并计算查找成功时的平均查找长度。
二次散列:
关键字49: 49%11=5 地址5已占,查找次数1 5+1^2=6 地址6已占,查找次数2 5-1^2=4 地址4已占,查找次数3 5+2^2=9 地址9未占,加入,查找次数4
关键字55: 55%11=0 地址0未占,加入,查找次数1 关键字1: 1%11=1 地址1未占,加入,查找次数1 关键字66: 66%11=0 地址0已占,查找次数1 0+1^2=1 地址1已占,查找次数2 0-1^2=-1 此时为负值,将负值+13即可 -1+13=12 地址12未占,加入,查找次数3
ASL(succ)=(1+1+1+1+4+1+1+3)/8=13/8