已知关键字系列:(16,87,45,70,75,26,63,29,32,52,53,78)在0~12的散列空间构造哈希表,要求:给出哈希函数及各关键字的对应地址,指出是否有冲突,如有可采用何种方法解决。
采用除留余数法,取p=13,则哈希函数为H(key)=key MOD 13。计算各关键字的对应地址如下表:
计算关键字29、52、78时会发生冲突,通常使用解决冲突的方法有:开放地址法、再哈希法、链地址法、公共溢区法。
采用开放地址法中的线性探测再散列,函数为Hi=(H(key)+di) MOD m i=1,2,...,k(k≤m-1),di=1,2,3,...,m-1。计算得出29、52、78的对应地址分别为4、2、8。
【考点】本题考查数据结构--查找--散列/哈希表--哈希表的应用。