divide and conquer approach in algorithm