Divide & Conquer algorithms
- Divide problem into several smaller subproblems
- normally, the subproblems are similar to the original
- Conquer the subproblems by solving them recursively
- base case: solve small enough problems by brute force
- Combine the solutions to get a solution to the subproblems
- and finally a solution to the original problem
- Divide and Conquer algorithms are normally recursive