是否有類似於使用線性探測的unordered_set的數據結構?這樣的數據結構不會利用緩存命中嗎?如果是這樣,爲什麼unordered_set使用鏈接鏈接?使用線性探測的C++集?
1
A
回答
3
標準庫關聯容器不能使指針或對元素的引用無效(當然,除非它們被擦除)。因此,線性探測不會提供更多好處:元素需要分配在陣列外部以支持調整陣列大小。一旦元素不是數組的一部分,鏈接它們似乎可以更好地控制碰撞。
1
該方法允許對存儲對象的引用保持有效,即使在重做和迭代器在大多數操作後也保持有效。另一方面,希望散列表包含匹配散列的單個元素纔有效 - 否則無論如何不會使用如此有效的線性搜索。
相關問題
- 1. 散列和線性探測
- 2. 用線性探測字符串哈希
- 3. 從線性探測移動到二次探測(散列碰撞)
- 4. 對Java HashTable實現的線性探測
- 5. ASP.NET集探測問題
- 6. 目的C:探測聲音
- 7. 哈希表大小調整,線性探測和複雜性
- 8. 散列表上線性探測的運行時間
- 9. C# - 探測privatePath不工作
- 10. 紅外線的探測USB POLL
- 11. 哈希碰撞線性探測運行時間
- 12. 探測的Dll
- 13. 在C++中使用Dtrace設置我自己的探測器
- 14. C#設置不帶app.config的探測privatePath?
- 15. 線性開放探索解決
- 16. 後生成事件,使用探測
- 17. 空探測XCode中使用SQLite
- 18. 無法探測
- 19. 探測組件
- 20. 嗅探檢測
- 21. 二次探測
- 22. 正在搜索不存在O(n)的值的哈希表? (線性探測)
- 23. 關於散列表中基於線性探測方法的Open Addressing的混淆?
- 24. 使用Spock測試線程併發性
- 25. 我可以使用MPI_Probe來探測集體操作發送的消息嗎?
- 26. 使用註冊探測.NET程序集免費的COM/.NET互操作程序
- 27. UITcrollView裏面的UITextField - 我想在探測時關注探測器
- 28. 計數探針探測二次
- 29. 探測python函數
- 30. 探測哈希表