②查找63,首先要与H(63)=63%16=15号单元内容比较,即63与31比较 ,不匹配;然后顺移,与46,47,32,17,63相比,一共比较了6次!③查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。④对于黑色数据元素,各比较1次;共6次;对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次,所以ASL=1/11(6+2+3×3+6)=23/11(6)设有一组关键字(9,01,23,14,55,20,84,27),采用哈希函数:H(key)=key %7 ,表长为10,用开放地址法的二次探测法处理冲突。要求:对该关键字序列构造哈希表,并计算查找成功的平均查找长度。
举一反三
- 设有一组关键字(9,01,23,14,55,20,84,27),采用哈希函数:H(key)=key %7 ,存放在地址0~10范围内,用开放地址法的二次探测法处理冲突构造哈希表,查找关键字27,需要比较的次数是( )。 A: 1 B: 3 C: 4 D: 6
- 设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表。试回答下列问题:(1)画出哈希表的示意图;(6分)(2)若查找关键字63,需要依次与哪些关键字进行比较?(2分)(3)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。(2分)
- 【填空题】假设在有序顺序表 A [1..20] 上进行折半查找,比较 1 次查找成功的记录数为( 1 ),比较 2 次查找成功的记录数为( 2 ),比较 3 次查找成功的记录数为( 3 ),比较 4 次查找成功的记录数为( 4 ),比较 5 次查找成功的记录数为( 5 ),等概率情况下成功查找的平均查找长度约为( 6 )
- 一组关键字序列为(27,17,9,19,16,43,53,8,63),用哈希函数H(key)=key MOD 8和链地址法处理冲突,查找关键字43,与散列表中关键字进行了( )次比较。 A: 3 B: 4 C: 5 D: 6
- 【单选题】设哈希( Hash )表的地址范围为 0 ~ 17 ,哈希函数为: H ( K )= K MOD 16 。 K 为关键字,用线性探测法再散列法处理冲突,输入关键字序列: ( 10 , 24 , 32 , 17 , 31 , 30 , 46 , 47 , 40 , 63 , 49 ) 造出 Hash 表, 若查找关键字 63 ,需要依次与哪些关键字进行比较? A. 31,46,47,32,17,63 B. 32,17,63 C. 31,46,63 D. 31,46,40,10,17,63