1. 程式人生 > >C++ STL中常見容器的時間複雜度

C++ STL中常見容器的時間複雜度

map, set, multimap, and multiset

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

插入: O(logN)

檢視:O(logN)

刪除:O(logN)

hash_map, hash_set, hash_multimap, and hash_multiset

上述四種容器採用雜湊表實現,不同操作的時間複雜度為:

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

檢視:O(1),最壞情況O(N)。

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

記住,如果你採用合適的雜湊函式,你可能永遠不會看到最壞情況。但是記住這一點是有必要的。