哈希函数h(X) = (X mod 10),那么1323和1989的哈希值怎么计算
时间: 2023-06-14 21:05:33 浏览: 233
对于哈希函数h(X) = (X mod 10),计算哈希值的方法是将待哈希的值X除以10,取余数作为哈希值。因此:
- 对于1323,h(1323) = 1323 mod 10 = 3。
- 对于1989,h(1989) = 1989 mod 10 = 9。
因此,1323的哈希值为3,1989的哈希值为9。
相关问题
1323和1989为什么在哈希函数h(X) = (X mod 10)拥有相同的哈希值
因为它们在模10的意义下具有相同的余数,即:
- 1323 ÷ 10 = 132 ... 3,余数为3
- 1989 ÷ 10 = 198 ... 9,余数为9
因此,h(1323) = h(1989) = 3,它们有相同的哈希值。在这种情况下,哈希函数h(X) = (X mod 10)并不是一个很好的哈希函数,因为它没有很好地分散数据,导致一些数据会产生冲突。
5.1.给定输入{4371、1323、6173、4199、43449679、1989}和哈希函数h(X)=(X mod 10),显示结果: 单独的链接哈希表 使用线性探测打开寻址表 使用二次探测打开寻址表 使用第二个哈希函数h2(X)=7-(X mod 7)打开寻址哈希表
单独链接哈希表:
| 槽位 | 值 |
| ---- | ---------- |
| 0 | |
| 1 | |
| 2 | |
| 3 | 1323 |
| 4 | 4371 |
| 5 | 6173 |
| 6 | 4199->1989 |
其中箭头表示链表结构。
使用线性探测打开寻址表:
| 槽位 | 值 |
| ---- | ----- |
| 0 | 6173 |
| 1 | 1323 |
| 2 | |
| 3 | 4371 |
| 4 | 4199 |
| 5 | |
| 6 | 1989 |
| 7 | |
| 8 | |
| 9 | |
使用二次探测打开寻址表:
| 槽位 | 值 |
| ---- | ------ |
| 0 | 6173 |
| 1 | 1323 |
| 2 | |
| 3 | 4371 |
| 4 | 4199 |
| 5 | 43449679 |
| 6 | 1989 |
| 7 | |
| 8 | |
| 9 | |
使用第二个哈希函数h2(X)=7-(X mod 7)打开寻址哈希表:
| 槽位 | 值 |
| ---- | ------ |
| 0 | 1323 |
| 1 | 4371 |
| 2 | 6173 |
| 3 | |
| 4 | 43449679 |
| 5 | |
| 6 | 1989 |
| 7 | |
| 8 | |
| 9 | 4199 |
阅读全文