设哈希表的地址范围为0~ 17 ,哈希函数为:H(key) =key%16 。用线性探测法处理冲突,输入关键字序列: ( 10 ,24 ,32,17 ,31 ,30,46 ,47 ,40,63 ,49),构造哈希表,试回答下列问题: 1、画出哈希表的示意图; 2、若查找关键字63 ,需要依次与哪些关键字进行比较? 3、若查找关键字60 ,需要依次与哪些关键字比较? 4、假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
31 32 17 46 47 63
29/11
1
(1)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
32 17 46 47 63 49 24 40 10 30 31
1 1 5 5 6 5 1 2 1 1 1
(2)31 32 17 46 47 63
(3) 60%16=12,因此查找60时并没有与任何关键字比较
(4) (1+1+5+5+6+5+1+2+1+1+1)/11=29/11
1、
2、查...
用户登录可进行刷题及查看答案
2、查找63, 首先要与地址值为 H(63)=63%16=15 的关键字比较,即63 与31 比较 , 不匹配,然后用线性探测法,与32,17,46,47,63 相比,一共比较 6 次.
3、查找60, 首先要与H(60)=60%16=12 号单元内容比较,因为12 号单元为空 ,所以应当只比较这一次即可。
4、ASL=(1× 6+ 2×1+ 5× 3+6×1 )/11= 29/11
登录后提交答案