Many useful algorithms have a recursive structure. A common pattern that comes up is solving a problem by first breaking down the initial problem into two or more sub-problems which can be solved recursively, and then finally combining the two sub-problems together. Note that not all problems can be solved in this way
Divide and Conquer
An algorithm that solves a problem by recursively solving subproblems and then re-combining them is said to be a divide and conquer algorithm.
is Correct
Given an array and indices such that the subarrays are already sorted in ascending order then after merge sort has terminated, then the subarray is sorted in ascending order
is Correct
Given any list, merge sort correctly sorts it in place