我知道在STL中vector
表示动态数组的实现。那么list
代表链表的实现(双链表)。我知道set
有一个类似于树的实现。查看算法复杂性,如上所述,集合中的大多数内置函数具有复杂性 o(1)或 o(log n)。那么这棵树是实现为平衡树还是任何其他类型的树,例如红黑树,如果是,为什么选择这样的树结构呢?
答案 0 :(得分:10)
标准对实施没有任何限制(复杂性保证除外)。
换句话说,它依赖于实现。通常情况下,它是一棵红黑树(例如/usr/include/c++/x.y.z/bits/stl_tree.h
,其中x.y.z
是您特定的GCC版本。)