c++ - std::map 是否自动平衡自身

标签 c++ dictionary stl containers balance

我知道STL map/set的主流实现使用的是黑红树。 我的问题是:这些实现是否也在插入/删除元素时自动平衡树?

如果不是,那么元素排序插入时,总是追加到最右边的位置。最差的查找成本是 O(n)。

那么,黑红树会自动平衡吗?

最佳答案

是的。红黑树进行节点轮换,保证树保持平衡

关于c++ - std::map 是否自动平衡自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41312329/

相关文章:

c++ - 如何调试并进入编译为C++的自定义语言源?

c++ - 在 C++ 中将变量参数列表序列化为字节数组的最佳方法?

python - 元组(键,值)到字典 ValueError : dictionary update sequence element #0 has length 6; 2 is required

C 模拟到 STL

c++ - 在 C++ 中从 container.end() 中减去是否安全?

c++ - 模板的实例化会导致二进制代码重复,编译器会阻止它吗?

c++ - C++全局 namespace 成员已定义错误

python - 使用带有 "illegal"变量名的 dict() 构造函数

python - 如何删除 csv 文件的重复基本键

c++ - 关于 vector 值