# It is a strategy to divide the main problem in n subproblems. the objective of the subprolems
# should be same and after solving all subproblems we must have a method to combine all the
# subsolutions to get the solution to the main problem
# As examples: Merge sort, Quick sort, Heap sort, Binary Search