NP Complete
- NP complete problems doesnt have known fast solutions
 - Greedy algorithms optimize locally, to optimize globally.
 - If you have a NP complete problem, you could use a approximation algorithm
 - To make the approximation algorithms easy to write and fast to run, we could use greedy algorithms