C++ STL中常见容器的时间复杂度
2015-07-02 10:44
381 查看
map, set, multimap, and multiset
上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种。不同操作的时间复杂度近似为:插入: O(logN)
查看:O(logN)
删除:O(logN)
hash_map, hash_set, hash_multimap, and hash_multiset
上述四种容器采用哈希表实现,不同操作的时间复杂度为:插入:O(1),最坏情况O(N)。
查看:O(1),最坏情况O(N)。
删除:O(1),最坏情况O(N)。
记住,如果你采用合适的哈希函数,你可能永远不会看到最坏情况。但是记住这一点是有必要的。
相关文章推荐
- 黑马程序员---C语言基础---语句概述
- C/C++中善用大括号
- C语言关键字auto与register的深入理解
- C++中的四种强制类型转换的区别
- 【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL
- C++ 类继承与对象赋值 情况下 成员变量的覆盖 浅析
- 【c语言】编写程序,使字符串逆序,空间复杂度O(1)
- 【c语言】 模拟实现库函数strcat函数
- C语言中关于错误输出的函数
- 【c语言】模拟实现库函数strcpy函数
- 【c语言】实现一个函数,求字符串的长度,不允许创建第三方变量
- 【c语言】实现一个函数,求字符串的长度
- c++ explicit
- 重温《C++ Primer》笔记八 数组与指针的几个问题
- VisualStudio 使用Visual Leak Detector检查内存泄漏
- C++运行时错误集
- Kinect SDK C++ - 2. Kinect Depth Data
- 【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回
- 【C语言】模拟实现库函数strcat函数
- 【C语言】实现一个函数求字符串长度(不能创建第三方变量)