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 |