答案分析和总结.docx

(5)设哈希表的地址范围为 0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题: ① 画出哈希表的示意图; ② 若查找关键字 63,需要依次与哪些关键字进行比较? ③ 若查找关键字 60,需要依次与哪些关键字比较? ④ 假定每个关键字的查找概率相等,求查找成功时的平均查找长度。解: (1)画表如下: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 32 17 63 49 24 40 10 30 31 46 47 (2) 31,46,47,32,17,63 相比,一共比较了 6 次! (3)查找 60,首先要与 H(60)=60%16=12 号单元内容比较,但因为 12 号单元为空,所以应当只比较这一次即可。 (4) ASL=1/11(6+2+3×3+6)=23/11 (6)设有一组关键字(9,01,23,14,55,20,84,27),采用哈希函数:H(key) =key %7 ,表长为 10,用开放地址法的二次探测法处理冲突。要求:对该关键字序列构造哈希表,并计算查找成功的平均查找长度。 散列地址 0 1 2 3 4 5 6 7 8 9 关键字 14 01 9 23 84 27 55 20 比较次数 1 1

文档评论(0)

1亿VIP精品文档

相关文档