建立关键字序列(16,74,60,43,54,90,46,31,29,88,77)对应的哈希表A[0..12],哈希函数为 H(k)=k%p,并采用开放地址法中的线性探测法解决冲突。
时间: 2023-09-25 09:10:22 浏览: 126
好的,根据您提供的信息,我可以帮您解决这个问题。首先,确定哈希表的大小,由于关键字序列中最大的数为90,我们可以选择一个大于90的质数作为哈希表的大小,假设我们选择了97。那么哈希函数为H(k) = k % 97。
接下来,我们需要将关键字序列中的每个数插入到哈希表中。由于采用了线性探测法,如果某个位置已经被占用,我们需要往后探测,直到找到一个空位置。
具体的插入过程如下:
1. 插入关键字16,H(16) = 16 % 97 = 16,A[16]为空,因此直接将16插入到A[16]中。
2. 插入关键字74,H(74) = 74 % 97 = 74,A[74]为空,因此直接将74插入到A[74]中。
3. 插入关键字60,H(60) = 60 % 97 = 60,A[60]为空,因此直接将60插入到A[60]中。
4. 插入关键字43,H(43) = 43 % 97 = 43,A[43]为空,因此直接将43插入到A[43]中。
5. 插入关键字54,H(54) = 54 % 97 = 54,A[54]为空,因此直接将54插入到A[54]中。
6. 插入关键字90,H(90) = 90 % 97 = 90,A[90]为空,因此直接将90插入到A[90]中。
7. 插入关键字46,H(46) = 46 % 97 = 46,A[46]为空,因此直接将46插入到A[46]中。
8. 插入关键字31,H(31) = 31 % 97 = 31,A[31]为空,因此直接将31插入到A[31]中。
9. 插入关键字29,H(29) = 29 % 97 = 29,A[29]为空,因此直接将29插入到A[29]中。
10. 插入关键字88,H(88) = 88 % 97 = 88,A[88]为空,因此直接将88插入到A[88]中。
11. 插入关键字77,H(77) = 77 % 97 = 77,A[77]为空,因此直接将77插入到A[77]中。
现在,哈希表中的内容如下:
A[16] = 16
A[74] = 74
A[60] = 60
A[43] = 43
A[54] = 54
A[90] = 90
A[46] = 46
A[31] = 31
A[29] = 29
A[88] = 88
A[77] = 77
以上就是使用哈希函数为H(k)=k%p,并采用开放地址法中的线性探测法解决冲突的过程。
阅读全文