二次探测再散列设哈希表长M=14,哈希函数H(key)=key mod 11.表中已有4个结点:ADDR(15)=4,ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再哈希法解决冲突,关键字为49的结点地址是
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 21:25:40
二次探测再散列设哈希表长M=14,哈希函数H(key)=key mod 11.表中已有4个结点:ADDR(15)=4,ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再哈希法解决冲突,关键字为49的结点地址是
二次探测再散列
设哈希表长M=14,哈希函数H(key)=key mod 11.表中已有4个结点:ADDR(15)=4,ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再哈希法解决冲突,关键字为49的结点地址是(X)(答案是9)
请问二次探测再哈希是什么啊?
二次探测再散列设哈希表长M=14,哈希函数H(key)=key mod 11.表中已有4个结点:ADDR(15)=4,ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再哈希法解决冲突,关键字为49的结点地址是
49 mod 11是5,和38那里冲突了,D = H(key)=5,ND = (D+di)%m,di先取1*1,得到ND=6,和61冲突;于是再是ND=(D+di)%m ,di取2*2,得到ND=(5+4)%11=9
就是这样.二次探测再散列就是来解决冲突的一种方法,不难的,好好体会
计算步骤如下:
15,38,61,84用哈希函数H(key)=key%11计算后得地址:4,5,6,7
49计算后为5,发生冲突.
用二次探测再散列法解决冲突:
1:(key+1^2)%11=(49+1)%11=6,仍然发生冲突.
2:(key-1^2)%11=(49-1)%11=4,仍然发生冲突.
3:(key+2^2)%11=(49+4)%11=...
全部展开
计算步骤如下:
15,38,61,84用哈希函数H(key)=key%11计算后得地址:4,5,6,7
49计算后为5,发生冲突.
用二次探测再散列法解决冲突:
1:(key+1^2)%11=(49+1)%11=6,仍然发生冲突.
2:(key-1^2)%11=(49-1)%11=4,仍然发生冲突.
3:(key+2^2)%11=(49+4)%11=9,不再发生冲突.
得出结果为D
收起