C++STL中常见容器的时间复杂度
本文最后更新于:2022年5月29日 上午
采用红黑树实现,时间复杂度为O(logN);采用哈希表实现,时间复杂度最优为O(1),最坏情况O(N)。
原文链接:https://blog.csdn.net/wusecaiyun/article/details/46723363
侵删
map, set, multimap, and multiset
上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种。不同操作的时间复杂度近似为:
插入: O(logN)
查看: O(logN)
删除: O(logN)
unordered_map, unordered_set, unordered_multimap, and unordered_multiset
上述四种容器采用哈希表实现,不同操作的时间复杂度为:
插入:O(1),最坏情况O(N)。
查看:O(1),最坏情况O(N)。
删除:O(1),最坏情况O(N)。
记住,如果你采用合适的哈希函数,你可能永远不会看到最坏情况。但是记住这一点是有必要的。