unordered_map和map使用场景有什么不一样
时间: 2023-08-17 14:15:21 浏览: 112
0359-极智开发-解读C++中容器map和unordered-map的区别
引用[2]:对比map与unordered_map,两者的区别如下:实现方式:unordered_map为哈希表,map为红黑树。查找操作:unordered_map平均为O(1),最差为O(n),map为log(n)。插入,删除操作:unordered_map与查找一样,map为log(n)平衡二叉树所用的时间。适用场景:unordered_map适用查找频率高,而map适合要求key有序的场景。[2]
根据上述引用内容,unordered_map和map的使用场景有所不同。unordered_map适用于查找频率较高的场景,因为它的查找操作平均时间复杂度为O(1),最差情况下为O(n)。而map适合要求key有序的场景,因为它的底层实现是红黑树,查找操作的时间复杂度为log(n)。所以,如果你需要频繁进行查找操作,并且不需要保持元素的有序性,那么unordered_map是一个更好的选择。而如果你需要保持元素的有序性,那么map是更适合的容器。
阅读全文