java - 如果频繁操作既是搜索又是插入,LinkedHashSet是最好的吗
问题描述
当频繁插入和搜索时,LinkedHashSet 是否被认为是时间复杂度/性能方面的最佳数据结构?双链接最适合插入,散列概念最适合搜索。
解决方案
两者LinkedHashSet
并且HashSet
对于插入(添加)和搜索(包含)具有相同的时间复杂度:O(1)。
LinkedHashSet
更好的是它保留了插入的顺序,并且它在迭代时的下一个操作在 O(1) 中工作,而对于HashSet
它是 O(h/n),其中 h - 哈希集合的当前容量,n - 中的元素数集合。
推荐阅读
- reactjs - React 中的拖放功能返回错误
- javascript - 使用 Promise.reject() 创建的 Promise 会立即被调用
- iphone - iphone主屏幕的URI是什么 - 在快捷方式中使用
- python - 在 Docker 容器中使用 Python 多处理时出错
- google-sheets - 如何计算非值和非公式单元格?
- javascript - 在函数中发送 _POST
- python - 在 PyQt5 中动态排列 QWidget
- android - onServicesDiscovered(gatt: BluetoothGatt?, status: Int) 找不到服务
- reactjs - 反应,从自定义钩子返回布尔值
- javascript - 类型错误:无法读取属性 '#
' 未定义的