greedy
brute force
trees + dp
data structures + implementation