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. 在Perl中創建數組的可擴展哈希
- 3. 擴展哈希表
- 4. 如何在java中實現可擴展哈希?
- 5. 可擴展哈希 - 析構函數C++
- 6. 可擴展哈希 - 最高有效位
- 7. 如何在Java中創建哈希表?
- 8. 如何在java中創建哈希表
- 9. 如何在Qt中創建MD5哈希?
- 10. 如何在rails中創建哈希URL?
- 11. 如何創建哈希鍵
- 12. 如何在Perl中創建一個新的空哈希引用?
- 13. 如何從Perl中的哈希數組創建哈希散列?
- 14. 如何在字符串中擴展哈希變量?
- 15. 在可擴展哈希中多次插入相同的值
- 16. 如何創建Clojure中的一個空的哈希地圖
- 17. Ruby哈希創建
- 18. 在Python創建哈希表
- 19. 哈希表和桶陣列
- 20. 如何在擴展器頭文件中創建空的擴展網格列
- 21. 如何創建可擴展列表?
- 22. 如何創建可擴展表單?
- 23. 如何創建可擴展xml
- 24. 如何在libphonenumber擴展之前顯示哈希(#)?
- 25. 如何在C#中創建擴展?
- 26. Ruby:擴展哈希構造函數
- 27. Bash擴展哈希表(字典)
- 28. 哈希擴展了一些功能
- 29. 擴展哈希想把自身YAML
- 30. 刪除哈希擴展命名