Divide and conquer is an algorithm based on multi-branched recursion. A divide-and-conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly.

Some examples of divide and conquer algorithms are: Merge Sort, Quick Sort, Strassenâ€™s Algorithm.

These algorithms divides the array into two halves recursively and then work on those separated halves to solve the final problem.