Divide and conquer algorithm works by recursively breaking down a problem into sub-problems, until these become simple enough to be solved directly.

Divide and conquer is an algorithm design paradigm 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 (divide), until these become simple enough to be solved directly (conquer). The solutions to the sub-problems are then combined to give a solution to the original problem.

Data structure problems
203 Quicksort
Quicksort is an efficient comparison sort. It can operate in place on an array, requiring small additional amounts of memory to perform sorting.
204 Merge sort
Merge sort is a divide and conquers and comparison-based sorting algorithm. It divide the array into subarray and conquer recursively sorting two subarrays. It combines the results into the final array.
205 Binary tree lookup
Write a program to print all the paths from the binary search tree.
206 Fibonacci numbers
Fibonacci number is a number that start with one or zero and next number is equal to the sum of previous two numbers. Ex F (0) = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
207 Min and Max finding
Write a program to find the Maximum or Minimum Value of a Quadratic Function.
208 Binary search
Binary search is a method to find the particular item in the sorted array. In each step, the algorithm divides the array equally and match the middle item. If the key match, return the index. If the key is less then middle, search left subarray. Else search right subarray.