数据结构的问题。。哈希表
1个回答
展开全部
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去找跟他是一对的另一个值。
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去找跟他是一对的另一个值。
追问
非常感谢
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询