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