在std :: map中查找

shr*_*sva 1 c++ stl

可能重复:
STL类似容器,具有O(1)性能.

我一直认为std :: map是一个散列列表.在那种情况下,不应该查找O(1).文档说它是O(logn).STL中适当的数据结构是什么,模拟散列映射最好用O(1)插入和查找.

Jon*_*cto 6

std::map实现为二叉搜索树.所以查找不是O(1).TR1和C++ 0x正在向STL添加一个名为a的哈希映射unordered_map.见http://en.wikipedia.org/wiki/Unordered_map_(C%2B%2B)

根据您的编译器,您可能拥有unordered_map或可能hash_map在STL中.