c ++ stl map.find()中使用了什么算法?

时间:2013-10-16 10:47:28

标签: c++ stl

我知道地图是用红黑树实现的。

所以我认为map.find()实现了二进制搜索算法

确定吗? 我使用这样的地图:

std::map<int,MyObject>

1 个答案:

答案 0 :(得分:4)

库标准没有指定任何特定的实现,只是对行为和性能特征的要求。特别是,find()必须采用对数时间,实际上需要二进制搜索。

红黑树或其他平衡搜索树是常见的实现方式。