(C/C++學習) 36. STL中常見容器的時間復雜度(各種map和set)


一.  map、set、multimap、multiset

上述四種容器采用紅黑樹實現,紅黑樹是平衡二叉樹的一種。不同操作的時間復雜度近似為:

插入: O(logN)

查看: O(logN)

刪除: O(logN)

二. unordered_map、unordered_set、unordered_multimap、 unordered_multiset

 

上述四種容器采用哈希表實現,不同操作的時間復雜度為:


插入: O(1),最壞情況O(N)

 

查看: O(1),最壞情況O(N)

 

刪除: O(1),最壞情況O(N)

注意:如果采用合適的哈希函數,你可能永遠看不到最壞情況。但是記住最壞情況為O(N)是有必要的!

原文:https://blog.csdn.net/wusecaiyun/article/details/46723363

 


免責聲明!

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



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