类型 | 举例 | 查找时间复杂度 | 插入时间复杂度 | 删除时间复杂度 |
---|---|---|---|---|
序列容器 | vector | O(n) | O(n) | O(n) |
序列容器 | list | O(n) | O(1) | O(1) |
序列容器 | deque 双端队列容器 | 随机访问的时间复杂度为 O(1) | 在开头或末尾插入、删除元素的时间复杂度为 O(1) | 在开头或末尾插入、删除元素的时间复杂度为 O(1) |
排序容器 | set 集合容器、multiset多重集合容器、map映射容器、 multimap 多重映射容器,底层是红黑树 | O(logn) | O(logn) | O(logn) |
哈希容器 | unordered_set 哈希集合、unordered_multiset 哈希多重集合、unordered_map 哈希映射、 unordered_multimap 哈希多重映射。底层是哈希表 | O(1) 最坏情况O(n),最坏情况是产生了hash冲突的时候,相同不同的key计算出来相同下标 | O(1) 最坏情况O(n) | O(1) 最坏情况O(n) |
哈希容器:采用合适的哈希函数,可能永远不会看到最坏情况。但是记住这一点是有必要的。
https://blog.51cto.com/u_14637764/2514256
https://codeantenna.com/a/ia2IOE09by