Merge sort is an efficient sorting algorithm that divides the input array into two parts of a sublist. It sorts each sublist and then merges them. To sort each sublist, the algorithm divides the sublist in two again. If this sublist of the sublist can be divided into two halves, then it will be. The idea of the merge sort is that it will merge all the sorted sublists into the fully sorted list. Suppose we have an array containing these elements, {7, 1, 5, 9, 3, 6, 8, 2}, as shown in the following diagram:
We can divide the array into two sublists, which are [7, 1, 5, 9] and [3, 6, 8, 2]. Then, the first sublist can be divided as ...