gpt4 book ai didi

c++ - STL map 容器在构造时是否优化(平衡树)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:39 25 4
gpt4 key购买 nike

如果我将元素的有序(递增)序列插入到映射中,最终的二叉树会以某种方式得到优化吗?或者每个元素都会有一个“正确”的 child ?这将使这样的树非常低效,因为然后查找将是线性的。

我找不到任何关于插入 STL 映射过程的详细信息。

最佳答案

C++11 标准 (23.1) 要求关联容器的 insertfind 的对数复杂度。从两个迭代器 ij 构造它们使得 [i, j) 表示适当排序的值范围甚至需要具有线性时间复杂。这是否意味着“最终的二叉树被优化”,或者 map 是否根本就是二叉树,尚无定论。

但实际上,std::setstd::map 和它们的多友元实际上总是红黑树,因为这是最初的 HP/STL 的 SGI 引用实现以及我所知道的所有现代 C++ 库都源自该实现。

关于c++ - STL map 容器在构造时是否优化(平衡树)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com