设哈希表的长度m=12,哈希函数H(key)=key% 11,关键字序列为(9,31,26,24,19, 1,12,27,16,13),采用线性探测法解决冲突,请对该关键字序列构造哈希表。
哈希表的构造:H(9)=9%11=9H(31)=31%11=9(冲突)H(31)=(9+1)%12=10H(26)=26%11=4 H(24)=24%11=2 H(19)=19%11=8 H(1)=1%11=1H(12)=12%11=1(冲突) H(12)=(1+1)%12=2(冲突)H(12)=(2+1)%12=3 H(27)=27%11=5 H(16)=16%11=5(冲突)H(16)=(5+1)%12=6 H(13)=13%11=2(冲突) H(13)=(2+1)%12=3(冲突)H(13)=(2+1)%12=3(冲突) H(13)=(3+1)%11=4(冲突) H(13)=(4+1)%12=5(冲突)H(13)=(5+1)%12=6(冲突) H(13)=(6+1)%11=70 1 2 3 4 5 6 7 8 9 10 11124122627161319931
举一反三
- 设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,请画出哈希表的示意图。
- 已知哈希函数H(key)=key MOD 11,用线性探测法处理冲突。请在0~10的哈希地址空间中对关键字序列{47,7,29,11,16,92,33,8,14}构造哈希表。
- 已知关键字序列为(56,23,41,79,38,62,18),用哈希函数H(key)=key%11将其散列到哈希表HT[0…10]中: (1)采用线性探测法处理冲突,构造哈希表。 (2)采用拉链法处理冲突,构造哈希表。
- 设哈希表长m=13,哈希函数为H(key)=key%13,给定的一组关键字为(33,29,20,01,26,12,75,46,39,64,27,85),用拉链法解决冲突,构造这组关键字的哈希表。
- 设有一组关键字(19,01,23,14,55,20,84,27,68,11,10,77),采用哈希函数:H(key)=key%13,若用开放定址法的线性探测法解决冲突,试在0~13的哈希地址中对该关键字序列构造哈希表并求其成功查找时的ASL。
内容
- 0
已知哈希函数H(key)=2 key MOD 11,用线性探测法处理冲突。试在 0~10的哈希地址空间中对关键字序列{6,8,10,17,20,23,53,41,54,57}构造哈希表。
- 1
设有一组关键字{19,1,23,14,55,20,84,27,68,11,10,77},其哈希函数如下: h(key)=key % 13 采用开放地址法的线性探测法解决冲突,试在0~18的哈希表中对该关键字序列构造哈希表,并求在成功和不成功情况下的平均查找长度。
- 2
已知关键字序列{11,2,15,26,5,18,13,9},设哈希表表长为16,哈希函数H(key)=key MOD 13,处理冲突的方法为线性探测法,请给出哈希表,并计算在等概率的条件下的平均查找长度。
- 3
设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:若查找关键字60,需要依次与哪些关键字比较?
- 4
设有一组关键字{19,1,23,14,55,20,84,27,68,11,10,77},采用哈希函数H(key)=key MOD 13,采用开放地址法的二次探测再散列方法解决冲突,试在0~12的散列空间中对关键字序列构造哈希表,画出哈希表,并求其查找成功时的平均查找长度。