Divide and conquer is an algorithm strategy. In divide and conquer algorithm strategy, we have to divide
problems into smaller problems where subproblems must be of same type and must
not overlap. These subproblems have to solve recursively and must combine solutions
to solve original problems. It usually contains two or more recursive calls.
Binary Search, Quick Sort, Merge Sort, Counting Inversion are the examples of
divide and conquer algorithm strategies.
In divide and conquer strategy, it breaks n size of problem
into n/2 and solve these two parts recursively and at last combine two solutions
into overall solution in linear time. Complexity of divide and conquer strategy
is nlogn.