| Data Structure |
Advantages |
Disadvantages |
| Array |
Quick insertion, very fast acess if index is known |
Slow search, slow deletion, fixed size. |
| Ordered Array |
Quicker search than unsorted array. |
Slow insertion and deletion, fixed size |
| Stack |
Provides last-in, first-out access |
Slow access to other items |
| Queue |
Provides first-in, last-out access |
Slow access to other items |
| Linked list |
Quick insertion, quick deletion |
slow search |
| Binary tree |
quick search, insertion deletion (if tree remains balanced) |
Deletion algorithm is complex |
| Red-black tree |
quick search, insertion, deletion. Tree always balanced |
Complex. |
| Hash table |
Very fast access if key known. Fast insertion |
Slow deletion, access slow if key not known, inefficient memory usage |
| "Heap" |
Fast insertion, deletion, access to largest item |
slow access to other items |
| Graph (tree) |
Models real-world situations |
Some algorithms are slow and complex |