Data Structure | C++ STL | java.util | Python collections | +Data Structure Typed | ||
---|---|---|---|---|---|---|
Dynamic Array (ArrayList) | std::vector<T> | ArrayList<E> | list | +Array | ||
Linked List | std::list<T> | LinkedList<E> | deque | +DoublyLinkedList | ||
Set | std::set<T> | HashSet<E> | set | +Set | ||
Map | std::map<K, V> | HashMap<K, V> | dict | +Map | ||
Stack | std::stack<T> | Stack<E> | N/A | +Stack | ||
Queue | std::queue<T> | -LinkedList<E> | +Queue<E> | N/A | +Queue | |
Priority Queue | std::priority_queue<T> | PriorityQueue<E> | N/A | +PriorityQueue | ||
Hash Table | N/A | -N/A | -defaultdict, Counter, etc. | +Hashtable | +defaultdict | +HashTable |
Deque | std::deque<T> | N/A | N/A | +Deque | ||
Multiset | std::multiset<T> | N/A | N/A | +N/A | ||
Multimap | std::multimap<K, V> | N/A | N/A | +N/A | ||
Unordered Set | std::unordered_set<T> | HashSet<E> | N/A | +N/A | +||
Unordered Multiset | +std::unordered_multiset | +N/A | +Counter | +N/A | ||
Unordered Map | std::unordered_map<K, V> | HashMap<K, V> | +defaultdict | +N/A | +||
Unordered Multimap | +std::unordered_multimap<K, V> | +N/A | +N/A | N/A | ||
std::bitset<N> | N/A | N/A | +N/A | |||
Ordered Dictionary (OrderedDict) | +Ordered Dictionary | N/A | N/A | OrderedDict | -||
User-Defined Dictionary | -N/A | -N/A | -UserDict | -|||
User-Defined List | -N/A | -N/A | -UserList | -|||
User-Defined Set | -N/A | -N/A | -UserSet | +Map | ||
Double-Ended Queue (Deque) | std::deque<T> | N/A | N/A | -|||
Skip List | -N/A | -N/A | -N/A | -|||
Circular Queue | -N/A | -N/A | -N/A | -|||
Bit Array | -N/A | -N/A | -N/A | -|||
Bloom Filter | -N/A | -N/A | -N/A | +Deque | ||
Linked Hash Set | N/A | LinkedHashSet<E> | N/A | +N/A | ||
Linked Hash Map | N/A | LinkedHashMap<K, V> | N/A | +N/A | ||
Sorted Set | N/A | TreeSet<E> | N/A | +AVLTree, RBTree | ||
Sorted Map | N/A | TreeMap<K, V> | N/A | +AVLTree, RBTree | ||
Tree Set | +std::set | +TreeSet<E> | N/A | -N/A | -N/A | +AVLTree, RBTree |
Tree Map | +std::map<K, V> | +TreeMap<K, V> | N/A | -N/A | -N/A | +AVLTree, RBTree |
Persistent Collections | N/A | N/A | N/A | +N/A | ||
std::unordered_multiset | -std::unordered_multiset<T> | +|||||
unordered multiset | +unordered multiset<T> | +N/A | N/A | N/A | ||
std::unordered_multimap | +Unordered Multimap | std::unordered_multimap<K, V> | N/A | N/A | -||
N/A | -TreeSet<E> | -TreeSet<E> | -N/A | -|||
N/A | -TreeMap<K, V> | -TreeMap<K, V> | N/A | |||
LinkedBlockingQueue<E> | N/A | N/A | +N/A | |||
N/A | ConcurrentHashMap<K, V> | N/A | N/A | +N/A | ||
N/A | N/A | namedtuple | N/A | +N/A | ||
N/A | N/A | ChainMap | N/A | +N/A | ||
N/A | N/A | defaultdict | N/A | +N/A | ||
N/A | N/A | Counter | N/A | +N/A |
Data Structure | C++ STL | java.util | Python collections | Custom Data Structure (Typescript) |
---|---|---|---|---|
Dynamic Array (ArrayList) | std::vector<T> | ArrayList<E> | list | N/A |
Linked List | std::list<T> | LinkedList<E> | deque | SinglyLinkedList, DoublyLinkedList, etc. |
Set | std::set<T> | HashSet<E> | set | TreeMultiset, etc. |
Map | std::map<K, V> | HashMap<K, V> | dict | N/A |
Stack | std::stack<T> | Stack<E> | N/A | N/A |
Queue | std::queue<T> | LinkedList<E> | N/A | N/A |
Priority Queue | std::priority_queue<T> | PriorityQueue<E> | N/A | N/A |
Hash Table | N/A | N/A | defaultdict, Counter, etc. | N/A |
Deque | std::deque<T> | N/A | N/A | N/A |
Multiset | std::multiset<T> | N/A | N/A | N/A |
Multimap | std::multimap<K, V> | N/A | N/A | N/A |
Unordered Set | std::unordered_set<T> | HashSet<E> | N/A | N/A |
Unordered Map | std::unordered_map<K, V> | HashMap<K, V> | N/A | N/A |
Bitset | std::bitset<N> | N/A | N/A | N/A |
Ordered Dictionary (OrderedDict) | N/A | N/A | OrderedDict | N/A |
User-Defined Dictionary | N/A | N/A | UserDict | N/A |
User-Defined List | N/A | N/A | UserList | N/A |
User-Defined Set | N/A | N/A | UserSet | N/A |
Double-Ended Queue (Deque) | std::deque<T> | N/A | N/A | N/A |
Skip List | N/A | N/A | N/A | N/A |
Circular Queue | N/A | N/A | N/A | N/A |
Bit Array | N/A | N/A | N/A | N/A |
Bloom Filter | N/A | N/A | N/A | N/A |
Linked Hash Set | N/A | LinkedHashSet<E> | N/A | N/A |
Linked Hash Map | N/A | LinkedHashMap<K, V> | N/A | N/A |
Sorted Set | N/A | TreeSet<E> | N/A | N/A |
Sorted Map | N/A | TreeMap<K, V> | N/A | N/A |
Tree Set | N/A | N/A | N/A | N/A |
Tree Map | N/A | N/A | N/A | N/A |
Persistent Collections | N/A | N/A | N/A | N/A |
std::unordered_multiset | std::unordered_multiset<T> | N/A | N/A | N/A |
std::unordered_multimap | std::unordered_multimap<K, V> | N/A | N/A | N/A |
N/A | TreeSet<E> | TreeSet<E> | N/A | N/A |
N/A | TreeMap<K, V> | TreeMap<K, V> | N/A | N/A |
N/A | LinkedBlockingQueue<E> | N/A | N/A | N/A |
N/A | ConcurrentHashMap<K, V> | N/A | N/A | N/A |
N/A | N/A | namedtuple | N/A | N/A |
N/A | N/A | ChainMap | N/A | N/A |
N/A | N/A | defaultdict | N/A | N/A |
N/A | N/A | Counter | N/A | N/A |