Why so many data structures?
fast, elegant, memory efficient
Generates tensions:
- time vs. space
- performance vs. elegance
- generality vs. simplicity
- one operation’s performance vs. another’s
Dictionary ADT
- list
- binary search tree
- AVL tree
- Splay tree
- Red-Black tree
- hash table