map&unordered_map的區別

map和unordered_map

 

1.底層結構不同:map——>紅黑樹,unordered_map——>哈希桶

2.使用場景:期望有序則用map,期望效率高則用unordered_map

3.效率:map低——>O(logN),unordered_map高——>O(1)

4.是否擴容:map不需要擴容,unordered_map需要進行擴容——>降低哈希衝突

5.空間利用率:map高,unordered_map低

6.插入方式:map:以紅黑樹方式插入 unordered_map:按照開散列方式插入

7.迭代器操作:map按紅黑樹中序遍歷進行操作 雙向++/-- unordered_map按逐個桶往後遍歷 單向++

8.是否關於key有序:map有序,unordered_map無序

9.map是C++98,unordered_mapC++11

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章