首页 > 试题广场 >

设散列表的长度为10,散列函数H(n)=n mod 7,初始

[单选题]

设散列表的长度为10,散列函数H(n)=n mod 7,初始关键字序列为 (33,24,8,17,21,10),用链地址法作为解决冲突的方法,平均查找长度是()

  • 1
  • 1.5
  • 2
  • 2.5
发表于 2018-08-09 16:43:45 回复(0)

https://blog.csdn.net/mmmmcc/article/details/50969431

发表于 2018-08-16 10:25:13 回复(0)
24,17,10  mod 7 都为 3
33 mod 7 = 6
8 Mod 7 = 1
21 mod 7 = 0
所以 8,21,33 查找长度为1
24,17,10 查找长度为1 ,2, 3
所以ASL = (1+1+1+1+2+3)/ 6 = 1.5
发表于 2019-07-21 14:54:25 回复(0)
散列函数得出的值相同的存储在同一条单链表里,值不同的存储在不同的链表里。这样8,21,33查找长度为1,而10,17,24存在一条单链表中,查找长度为1,2,3,这样ASL=(1+1+1+1+2+3)/6=1.5
发表于 2019-05-23 15:24:21 回复(0)
是哪一种情况等于1 呢

发表于 2019-09-30 20:22:58 回复(0)
算法
发表于 2019-09-16 06:55:06 回复(0)
ASL所谓平均查找长度,我的记忆就是把第一层比较一次,第二层比较两次,以此类推。二分查找和这题的链式存储都可以用这个方法算。在这里,第一层4个,第二层2个,第三层3个,(1*4+2*1+3*1)/6=1.5
发表于 2019-06-03 10:56:06 回复(0)

33%7=5   24%3=3  以此类推  1+1+2+3+1从左到右拉链法

发表于 2018-09-26 08:38:35 回复(0)