【题目】
41.(10分)将关键字序列(7,8,30,11,18,9,14)散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组,散列函数为:H(key)=(key×3)MOD 7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。
(1) 请画出所构造的散列表。
(2) 分别计算等概率情况下查找成功和查找不成功的平均查找长度。
【答案要点】
(1)由装载因子0.7,数据总数7个→存储空间长度为10→P=10。所以,构造的散列表为: H(7)=(7×3)MOD 7=0
H(8)=(8×3)MOD 7=3
H(11)=(11×3)MOD 7=5
H(18)=(18×3)MOD 7=5
H(9)=(9×3)MOD 7=6
H(14)=(14×3)MOD 7=0
H(30)=(30×3)MOD 7=6
(2)查找成功的平均查找长度:ASL成功=(1+1+1+1+2+3+3)/7=12/7。
查找不成功的平均查找长度:AsL不成功=(3+2+1+2+1+5+4)/7=18/7。