底層結構
- map底層是紅黑樹結構,而unordered_map底層是哈希結構;
有序性
- 但是紅黑樹其實是一種二叉搜索樹,插入刪除時會自動排序
- hash因為是把數據映射到數組上的,而且存在哈希沖突,所以不能保證有序存儲
所以有序存儲使用map(紅黑樹的中序遍歷,就能把儲存的數據從小到大把數據按序展現出來)
查找
-
為了查找,紅黑樹需要依次比較 關鍵碼,時間復雜度為logn,還要加上平衡節點旋轉的時間
-
雖然說哈希表的內存 消耗遠大于紅黑樹,但是因為哈希表增刪查改時是直接映射到數組上的,時間復雜度為O(1)