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擴展?