Time Complexity of Data Structures
Random Access ADT
Data Structure | Access | Search | Insertion/begin/end | Deletion/begin/end | Concat | Space |
---|
Array | O(1) | O(n) | O(n) / O(N) / O(1) | O(N) / O(N) / O(1) | O(n) | O(n) |
Catenable Sorted Lists | O(logN) | O(logN) | O(logN) / O(1) / O(1) | O(logN) / O(1) / O(1) | O(1) | O(n) |
RRB Trees | O(logN) | O(logN) | O(logN) / O(1) / O(1) | O(logN) / O(1) / O(1) | O(logN) | O(n) |
Singly Linked List | O(N) | O(N) | O(N) / O(1) / O(1) | O(N) / O(1) / O(1) | O(1) | O(N) |
Doubly Linked List | O(N) | O(N) | O(N) / O(1) / O(1) | O(N) / O(1) / O(1) | O(1) | O(N) |
Hash List | O(1) | O(1) | O(1) / O(1) / O(1) | O(1) / O(1) / O(1) | O(N) | O(N) |
Stack ADT
Queue ADT
Deque ADT
Sorted Access ADT
Data Structure | Access | Search | Insertion/ at End | Deletion/ at end | Concat | Space |
---|
Array | O(1) | O(n) | O(n) / O(1) | O(n) / O(1) | O(n) | O(n) |
Catenable Sorted Lists | O(logN) | O(logN) | O(logN) / O(1) | O(logN) / O(1) | O(1) | O(n) |
RRB Trees | O(logN) | O(logN) | O(logN) / O(1) | O(logN) / O(1) | O(logN) | O(n) |
Hash Tables ADT
Heap ADT
Trie ADT
By Use
Geographic Data
Sorted Data
Least Frequently Used
Caching
Indexing
Text Editing