-
Containers
-
|- Max Heap (priority_queue <int>)
|- Min Heap (priority_queue <int, vector <int>, greater <int>>)
-
Associative Containers
-
Unsorted Unordered
C++ unordered_map: Internal Implementation, Functions
| Example | How elements are stored | Access | Advantages | Complexity | |
|---|---|---|---|---|---|
| Hashmap | C++(unordered_map), Rust(HashMap), Python(Dictionary), Go(map), Java(HashMap) | Hash Table | Insert, search, delete = O(1) | Best:O(1), Worst:O(n) | |
| HashSet | C++(unordered_set), Rust(HashSet), Python(set), Java(HashSet) | Hash Table | Insert, search, delete = O(1) | Best:O(1), Worst:O(n) |
Sorted Ordered
| Example | How elements are stored | Access | Advantages | Complexity | |
|---|---|---|---|---|---|
| map | C++(set) |
Self-Balanced BST (RBT) All elements are in ascending or decending order |
Sorted elements | O(logn)//All cases | |
| set | C++(set) |
Self-Balanced BST (RBT) All elements are in ascending or decending order |
Sorted elements | O(logn)//All cases |
Container Adoptors
stack
Queue
priority_queue Insert: O(logn), Search: O(1), Delete: O(logn)
Sequence Containers
C++(vector): Internal Implementation, Functions
| Example | How elements are stored | Access | Advantages | Complexity | |
|---|---|---|---|---|---|
| vector | C++(vector), | Contigiuosly | Sequential | Better cache locality | O(n) |
| Deque | C++(deque), Rust(VecDeque), Python(deque) | Contigiuosly | Sequential | Better cache locality | O(n) |
Iterators
Functors