- Very natural and useful algorithmic technique
- Break down problem into smaller subproblems → divide
- Solve them recursively and combine into solution → conquer
- Step 1: Divide
- Break down the problem into smaller subproblems
- Not clear how to “correctly” break down the problem into smaller parts ?
- Step 2: Conquer
- Solve the smaller subproblems
- Not the hard part usually, it is done recusrively!
- Step 3: Combine
- Sometimes is quite easy, sometimes need quite some work!