Merge Sort
 1) What sorting algorithm is used in the given program? Merge Sort Bubble Sort Quick Sort Insertion Sort

 2) What is the time complexity of the Merge Sort algorithm? O(n) O(n^2) O(log n) O(n log n)

 3) What is the purpose of the 'mergeSort()' function? Reversing the array elements Counting the number of elements in the array Printing the array elements Sorting the array using Merge Sort

 4) What is the base case condition in the 'mergeSort()' function? if len(arr) == 0 if len(arr) > 1 if len(arr) == 1 if len(arr) < 1

 5) What is the purpose of the 'printList()' function? Merging the array elements Printing the array elements Sorting the array Counting the number of elements in the array

 6) How does the Merge Sort algorithm divide the array? Into two equal halves Into increasing sub-arrays Into three equal parts Into random sub-arrays

 7) What is the time complexity of merging two sorted arrays in the 'mergeSort()' function? O(n^2) O(1) O(log n) O(n)

 8) What is the space complexity of the Merge Sort algorithm? O(1) O(log n) O(n) O(n^2)

 9) What is the worst-case time complexity of the Merge Sort algorithm? O(log n) O(n log n) O(n) O(n^2)

 10) Which sorting algorithm is known for its stability? Quick Sort Selection Sort Bubble Sort Merge Sort