Divide and Conquer
Divide:To solve a problem, it is subdivided into sub problems each of which is similar to the given problem.
Conquer: Each of the sub problems is solved independently
Combine: The solutions to the sub problems are combined in order to obtain the solution to the original problem
Divide and conquer algorithms are often implemented using recursion. However not all recursive functions are divide and conquer algorithm. Generally, the sub problems solved by divide and conquer algorithm are non overlapping