A Binary Tree where left nodes are less than the parent and right nodes are greater than the parent
contains()
- Best Case
- Shortest Tree Possible with n nodes → Complete
- Worst Case
- Longest Tree Possible with n nodes → Degenerate
remove()
- Recursively search tree for target
- Find target
- Leaf → Remove target
- 1 child → Connect target child to target parent
- 2 children → Replace target value with predeccesor or successor
Traversal

Efficiencies
| Add | Remove | Access | Height | |
|---|---|---|---|---|
| Average Case | O(log n) | O(log n) | O(log n) | O(n) |
| Worst Case | O(n) | O(n) | O(n) | O(n) |