已知一组关键字序列为(25,51,8,22,26,67,11,16,54,41),其散列地址空间为[0,…,12],若Hash函数定义为:H(key) = key MOD 13,采用线性探测法处理冲突,请画出它们对应的哈希表
最佳答案:
由除余法的散列函数计算出的上述关键字序列的散列地址(12, 12, 8, 9, 0, 2, 11, 3, 2,2)。
先插入25,T[12]的位置,51也是12,所以再探测(12+1)mod 13 =0, 插入T[0] 的位置,8插入T[8]的位置,22插入T[9]的位置。26插入T[0]的位置发现被占,探测(0+1) mod 13 =1,插入T[1]的位置。67插入T[2]的位置。11插入T[11]的位置,16插入T[3]的位置,54插入T[2]的位置发现被占,探测(2+1)mod13=3,T[3]发现被占,再探测(2+2)mod13=4,插入T[4]的位置。41插入T[2]的位置,发现被占,探测(2+1)mod13=3,发现T[3]被占,探测(3+1)=4,发现T[4]被占,探测(4+1)mod13=5,插入T[5]的位置。
所以哈希表如下图:
地址空间 序列 0 51 1 26 2 67 3 16 4 54 5 41 6 7 8 8 9 22 10 11 11 12 25