The Divide and Conquer method is the most widely applicable technique for designing efficient algorithms. It works in three stages, as shown below:
- Divide: Recursively divide the bigger problem of size n into smaller sub-problems of size n/2.
- Solve: Sub-problems are solved independently.
- Combine: Combine solutions of smaller sub-problems to derive the solution of the larger big problem of size n.
Smaller sub-problems are similar to the larger problem with smaller arguments. Hence, such problems can be solved easily using recursion. Divide and conquer is a multi-branched, top-down recursive approach. Each branch indicates one sub-problem and it calls itself with the smaller argument.

Above diagram shows the working of Divide and Conquer method