Data Structures Comparison Table
Ā
Data Structure | Access | Search | Insertion | Deletion | Notes / Use Cases |
---|---|---|---|---|---|
Array | š¢ O(1) | š“ O(n) | š“ O(n) | š“ O(n) | Fast random access, fixed size |
Linked List | š“ O(n) | š“ O(n) | š¢ O(1) (at head) | š¢ O(1) (at head) | Dynamic size, efficient insert/delete, slow search |
Stack | š“ O(n) | š“ O(n) | š¢ O(1) | š¢ O(1) | LIFO, recursion, undo, parsing |
Queue | š“ O(n) | š“ O(n) | š¢ O(1) | š¢ O(1) | FIFO, scheduling, buffering |
Hash Table / HashMap | āŖ N/A | š¢ O(1) avg, š“ O(n) worst | š¢ O(1) avg, š“ O(n) worst | š¢ O(1) avg, š“ O(n) worst | Key-value lookup, depends on hash |
Binary Search Tree (BST) | š” O(log n) | š” O(log n) | š” O(log n) | š” O(log n) | Worst case š“ O(n) if unbalanced |
AVL Tree (Balanced BST) | š” O(log n) | š” O(log n) | š” O(log n) | š” O(log n) | Always balanced ā |
Heap | š“ O(n) | š“ O(n) | š” O(log n) | š” O(log n) | Priority queues, min/max retrieval |
Graph (Adj. List) | š” O(V) | š” O(V+E) | š¢ O(1) | š” O(V+E) | Best for sparse graphs |
Graph (Adj. Matrix) | š¢ O(1) | š” O(V) | š¢ O(1) | š“ O(V²) | Best for dense graphs |
šØ Legend:
-
š¢ Excellent (Fast)
-
š” Moderate (Logarithmic / Linear on V)
-
š“ Slow (Linear / Quadratic)
-
āŖ Not Applicable