数据结构的问题。。哈希表

如题所述

10%11 = 10 ,10放在10号位置上
24%11 = 2 , 24放在2号位置上
32%11 = 10 , 32放在10号位置上,但是10位置上已经有数了,那么就出现哈希冲突了,题目说用线性探测再散列的方法处理冲突
(32+1)%11 = 0,所以32放在0号位置上
……
最后排完就是

32-X-24-44-X-X-17-X-30-31-10
X表示该位置没有值
现在计算查找长度
10的查找长度为1,因为根据查找函数H(10)= 10,我在位置10上正好找到了10,所以查找长度为1,
32的查找长度为2,因为H(32) = 10,但是10位置上并不是32,所以需要向后探测查找,探测一次发现了32,所以查找长度为2。
……
可得平局查找长度为
(1+1+2+1+1+1+2)/ 7 = 1.29

现在跟你解释一下“10的查找长度为1,因为根据查找函数H(10)= 10,我在位置10上正好找到了10,所以查找长度为1”
为什么我已经知道10了还要到哈希表中查找10
因为哈希表通常存的是一对值,我们通过找到10去找跟他是一对的另一个值。追问

非常感谢

温馨提示:答案为网友推荐,仅供参考