Merge Sort

Merge sort is a divide-and-conquer sorting algorithm that splits an array into smaller subarrays, sorts each subarray recursively, and then merges the sorted subarrays to produce the final sorted array. The Python code of merge sort is given as