unordered_map和C ++ STL的映射有什么区别。 请解释复杂性和使用方法。
我用unordered_map替换地图,而我早些时候接受了超时限制。
我们应该在哪里使用地图和无序地图
答案 0 :(得分:0)
std::map
保证了搜索,插入和删除的O(log N)复杂度。它使用比较运算符,迭代按照该比较运算符定义的顺序进行。
std::unordered_map
仅保证搜索,插入和删除的O(N)复杂度,但您通常期望它是O(M),其中M是(或多或少)个人密钥的大小。假设密钥相对于项目数量较小,则基本上为O(1)。