0
A
回答
0
假设散列函数h(x)
是h(x) = x
,并且每个存储桶可以容纳两件事。
我也将使用散列码的最低有效位作为哈希目录的索引,而不是最高有效位。
基本上,为了得到一个空的桶,我们希望通过尝试将某些东西放入没有空间的桶中,但我们希望这种加倍失败的情况来诱发散列表的加倍。
所以,让我们开始插入东西。
首先,插入0.这应该在第一个桶中,因为h(0) = 0
和0 % 2 = 0
。
然后,插入4.这也应该在第一个桶中,因为h(4) = 4
和4 % 2 = 0
。
现在,插入8失败,因为存储桶只能容纳两件事,所以表必须加倍大小。因此,全局散列级别从1
增加到2
。其他更改包括新的第三个存储桶和指向第二个存储桶的第四个散列索引。
不幸的是,由于重新哈希过程花费了h(x) % 4
,而且我们所有的数字都是(有意)4的倍数,所以第一个桶仍然太满,第三个桶是空的。这解决了哈希表的又一倍。
相关问题
- 1. 可扩展哈希
- 2. 如何在java中实现可扩展哈希?
- 3. 可扩展哈希 - 析构函数C++
- 4. 如何在Qt中创建MD5哈希?
- 5. 如何在Java中创建哈希表?
- 6. 如何在rails中创建哈希URL?
- 7. 如何创建哈希键
- 8. 如何在Perl中创建一个新的空哈希引用?
- 9. 如何从Perl中的哈希数组创建哈希散列?
- 10. 如何创建Clojure中的一个空的哈希地图
- 11. 在Python创建哈希表
- 12. 如何创建可扩展xml
- 13. 如何在libphonenumber扩展之前显示哈希(#)?
- 14. Bash扩展哈希表(字典)
- 15. 哈希扩展了一些功能
- 16. 如何在C#中创建扩展?
- 17. 如何从阵列创建哈希
- 18. 如何正确创建SHA256哈希?
- 19. 如何创建实例的哈希?
- 20. .net如何创建SHA1哈希?
- 21. 如何创建Facebook密钥哈希?
- 22. 如何在哈希中存储哈希哈希?
- 23. 如何在脚本执行期间创建匿名哈希并将哈希添加到已知哈希中?
- 24. 在Ruby中创建嵌套哈希
- 25. 在swift中创建哈希标签
- 26. 无法在Rails Console中创建哈希
- 27. 在红宝石中使用双摔跤扩展变量中的空哈希
- 28. 如何创建Dreamweaver扩展?
- 29. 如何创建扩展MKMapView
- 30. 如何创建jinja2扩展?