Divide and Conquer
The divide-and-conquer design paradigm
- Divide the problem (instance) into subproblems.
- Conquer the subproblems by solving them recursively.
- Combine subproblem solutions.
EXAMPLE:
Merge sort \(T(n)=2T(n/2)+\Theta(n)\Rightarrow T(n)=\Theta(n\lg n)\)
Binary search \(T(n)=T(n/2)+\Theta(1)\Rightarrow T(n)=\Theta(\lg n)\)
Powering a number \(T(n)=T(n/2)+\Theta(1)\Rightarrow T(n)=\Theta(\lg n)\)