37、STL中unordered_map和map的區別和應用場景


map支持鍵值的自動排序,底層機制是紅黑樹,紅黑樹的查詢和維護時間復雜度均為$O(logn)$,但是空間占用比較大,因為每個節點要保持父節點、孩子節點及顏色的信息

 

unordered_map是C++ 11新添加的容器,底層機制是哈希表,通過hash函數計算元素位置,其查詢時間復雜度為O(1),維護時間與bucket桶所維護的list長度有關,但是建立hash表耗時較大

 

從兩者的底層機制和特點可以看出:map適用於有序數據的應用場景,unordered_map適用於高效查詢的應用場景


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM