Q
哈希表與線性列表
2
A
回答
0
是的,在少數元素的情況下。想想哈希如何工作。它必須計算哈希來查找一個桶,然後搜索該桶中的列表。此外,它可能是一個複雜的多層次散列等。因此,您甚至可以在通過線性列表進行搜索時比使用散列查找算法更有效。
另一個實例是,如果您正在查找的元素始終位於列表的開頭或附近。根據你在做什麼可能會發生。
還有其他的,但應該幫助你考慮一下。
不過,不要混淆。散列通常是你想要的。
2
在散列表中搜索並不總是恆定的。如果散列函數與數據不匹配,則可能發生很多衝突,並且在極端情況下每個數據項具有相同的散列值,結果看起來就像線性搜索。根據具體情況,這種有效的線性搜索可能比對數組中的數據進行線性搜索要慢。 (例如,帶有二次探測序列的open addressing,這使得對處理器緩存的使用較差,可能比對陣列進行線性搜索要慢)。
下面是一個真實案例的示例,其中所有密鑰都以同一個桶:Java bug 4669519。
相關問題
- 1. 哈希表(線性探測)
- 2. 哈希表vs哈希列表與哈希樹?
- 3. Python哈希與列表
- 4. 如何比較哈希表的屬性與Powershell中的哈希表陣列
- 5. Groovy的屬性列表從哈希表
- 6. 線性探測哈希表插入
- 7. 線程本地存儲與哈希表
- 8. ClojureScript哈希表性能與JavaScript對象
- 9. 下拉列表的哈希'值'屬性
- 10. Powershell陣列與單哈希表
- 11. 與列表哈希分配::的Util
- 12. B樹與哈希表
- 13. Berkeleydb - B樹與哈希表
- 14. Powershell陣列或哈希表?
- 15. 哈希表和桶陣列
- 16. 哈希表列值整數
- 17. 非哈希列表錯誤
- 18. 哈希散列與陣內哈希
- 19. 哈希表與鏈接列表與錯誤
- 20. 在javascript中列表的散列哈希哈希
- 21. 哈希表addFunction
- 22. Python哈希表
- 23. 哈希表大小調整,線性探測和複雜性
- 24. Powershell字典或哈希表的列表
- 25. 匹配列表,利用哈希表
- 26. 鏈式哈希錶鏈接列表
- 27. 哈希表和列表並排嗎?
- 28. 使用哈希表的數組列表
- 29. 哈希表中的搜索哈希
- 30. 哈希打印表哈希perl