导航菜单
首页 >  jtestac真题及答案  > 计算机考研408统考真题及答案解析

计算机考研408统考真题及答案解析

答案解析

(1)对于关键字20,我们计算(20*3)%11=60%11=5。所以,20的散列地址是5.对于关键字3,我们计算(3*3)%11=9%11=9。所以,3的散列地址是9,对于关键字11,我们计京(11*3)%11=33%11=0。所以。11的教列地址是0。对于关键字18,我们计算(18*3)%11=54%11=10。所以,18的散列地址是10.对于关键字9,我们计算(9*3)%11=27%11=5。但是,地址5己经被关键字20占用了,所以我们需要使用二次探查来找到一个新的地址。我们计算(5+1^2) % 11=6%11=6。所以,9的散列地址是6。对于关键字14,我们计算(14*3)%11=42%11=9。但是,地址9已经被关键字3占用了,所以我们需要使用二次探查来找到一个新的地址。我们计算(9+1*2)%11=10%11=10。但是地址10也被18占用了,再次使用二次探查来找到一个新的地址。我们计算(9+2^2)%11=13%11=2。所以,14的散列地址是2.对于关键字7,我们计算(7*3)%11=21%11=10。但是,地址10已经被关键字18占用了,所以我们需要使用二次探查来找到一个新的地址,我们计算(10+1^2) %11=11%11=0。但是,地址0已经被关键字1占用了,所以我们需要继续使用二次探查。我们计算(10+2^2)%11=14%11=3。所以,7的散列地址是3。散列地址     0   1   2   3   4   5   6   7   8   9   10关健字       11      14  7       20  9           3   18冲突次数     1       3   2       l   2           l    1最后,我们汁算散列表的填装因子,即散列表中已经被填充的位置的数量除以散列表的总长度。在这个例子中,填装因子是了7/11。

(2)

1、首先,我们计算14的散列地址:H(14)-(14*3)%11=42%11= 9.2、我们查看散列表中索引为9的位置,发现那里存储的是关键字3,而不是14,这意味着我们遇到了冲突。3、由于我们使用的是二次探查,所以我们计算下一个散列地址:H1=(H0+1^2)%11=(9+1)%11=10。发现那里存储的是关键字18,而不是14,这意味着我们遇到了冲突。4、所以我们计算下一个散列地址:H1=(H0+2*2)%11=(9+4)%11=2。发现那里存储的正是我们要找的关键字14。

(3)

1、首先。我们计算8的散列地址:H(8) =(8*3)%11=24%11=2,2、我们查看散列表中索引为2的位置。发现那里存储的是关键字18,而不是8,这意味着我们遇到了冲突。3、由于我们使用的是二次探查,所以我们计算下一个散列地址:H1=(H0+1^2)%11=(2+1)%11=3.4、我们查看散列表中索引为3的位置。发现那里存储的是关键字7,而不是8,这意味着我们又遇到了冲突。5、我们继续使用二次探查,计算下一个散列地址:H2=(H0+2^2)%11=(2+4)%11=66、我们查看散列表中索引为6的位置,发现那里存储的是关键字9而不是8,这意味着我们又遇到了冲突。7、我们继续使用二次探查,计算下一个散列地址:H3=(H0+3^2)%11=(2+9)%11=0,8、我们查看最列表中索引为0的位置,发现那里寡储的是关键字11,而不是8,这意味着我们又适到了冲突。9、我们继续使用二次探查,计算下一个散列地址:H4=(H0 +4^2) %11=(2+16)%11=7.10、我们查看散列表中索引为7的位置,发现那里是空的。所以我们可以确认查找失败,散列地址是7.

相关推荐: