首页 > 试题广场 >

设有关键字序列,表示为一个线性表{32,13,49,24,3

[问答题]

设有关键字序列,表示为一个线性表{32,13,49,24,38,21,4,12 },散列地址 0~10 ,哈希函数H(K)= 3* K%1 1 ,试用线性探测再散列解决冲突,实现散列存储,画出散列表( 4 分),要求写出求解步骤,并求出查找成功 的平均查找长度

(1) 哈希表:

下标

0

1

2

3

4

5

6

7

8

9

10

关键值

4

12

49

38

13

24

32

21

比较次数

1

1

1

2

1

2

1

2

38

24

21

H(32)=32 *3 %1 1 = 8 H( 13 )= 13*3 %1 1 = 6

H( 49 )= 4 9 *3 %1 1 = 4 H( 24 )= 24*3 %1 1 = 6冲突, H 1 =( 6 +1)%1 1 = 7

H( 3 8)= 3 8 *3 %1 1 = 4 冲突, H 1 =( 4 +1)%1 1 = 5

H( 21 )= 21*3 % 11 = 8 冲突,H 1 =( 8 +1)%1 1 = 9

H(4)=4 *3 %1 1 = 1 H(1 2 )=1 2*3 %1 1 = 3

(2)  ASL=( 1*5+2*3 )/ 8 = 11 / 8

发表于 2017-05-17 03:53:36 回复(0)