1. 程式人生 > >map與unordered_map,multimap

map與unordered_map,multimap

map

multimap

unordered_map

unordered_multimap

map底層實現為紅黑樹,時間複雜度為O(logn),因為其儲存時為有序狀態,查詢時從平衡二叉樹上搜索

unordered_map實現為雜湊表,時間複雜度為O(1),因為其每次根據雜湊函式定位到所在的位置,查詢值,為常數級別,但空間開銷較大,且存在雜湊函式計算時間

multimap允許儲存多個相同的鍵對應的鍵值對,為紅黑樹

使用場景:

  • 如果要求有序,使用map
  • 如果要求時間複雜度最低且未要求有序和空間,使用unordered_map
  • 如果要求儲存鍵值相同的鍵值對,使用multimap