散列表的长度为8,散列函数H(k)=k%7,(8,15,16,22,30,32)。用线性探测法解决冲突,
时间: 2024-03-23 19:38:51 浏览: 38
好的,我来回答你的问题。
首先,我们需要把这些关键字按照散列函数的结果进行散列,得到它们在散列表中的初始位置:
- H(8) = 8 % 7 = 1
- H(15) = 15 % 7 = 1
- H(16) = 16 % 7 = 2
- H(22) = 22 % 7 = 1
- H(30) = 30 % 7 = 2
- H(32) = 32 % 7 = 4
因为有冲突发生,我们需要用线性探测法解决。从初始位置开始,依次往后探测,直到找到一个空位或者找到该关键字。具体地,我们可以按照如下方式探测:
- 对于关键字8,它的初始位置是1,但是这个位置已经被15占用了,所以我们往后探测,发现位置2是空的,于是将8放在位置2。
- 对于关键字15,它的初始位置也是1,但是这个位置已经被8占用了,所以我们往后探测,发现位置2已经被16占用了,再往后探测,发现位置3是空的,于是将15放在位置3。
- 对于关键字16,它的初始位置是2,这个位置是空的,所以直接将16放在位置2。
- 对于关键字22,它的初始位置是1,但是这个位置已经被8和15占用了,所以我们往后探测,发现位置2和3都已经被占用了,再往后探测,发现位置4是空的,于是将22放在位置4。
- 对于关键字30,它的初始位置是2,但是这个位置已经被16占用了,所以我们往后探测,发现位置3已经被15和22占用了,再往后探测,发现位置4已经被占用了,再往后探测,发现位置5是空的,于是将30放在位置5。
- 对于关键字32,它的初始位置是4,这个位置是空的,所以直接将32放在位置4。
这样,所有关键字都被成功地插入到散列表中了,最终的结果如下:
```
0:
1: 8 15 22
2: 16 30
3:
4: 32
5:
6:
7:
```
希望能够解决你的问题。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)