Data Structures

Divide and Conquer

Dynamic Programming

Greedy