Which sorting algorithm is guaranteed to have a worst-case time complexity of O(n log n) and is classified as a stable sorting algorithm?
Answer and explanation
Correct answer: A. MergeSort
- Step 1: Examine worst-case runtimes and stability of comparison sorting algorithms.
- Step 2: MergeSort uses divide-and-conquer to split arrays and merge them in time in all cases (worst, average, best), while preserving the relative order of equal elements (stable).
Answer
MergeSort.
Why not the others: QuickSort has worst case and is unstable; SelectionSort is ; HeapSort is but unstable.
Practise more Algorithms and Python Programming.
Free questions with an explanation for every one, and full timed EmSAT Achieve (UAE) mock tests.
More Algorithms and Python Programming questions
- What is the output of the following Python expression: [x**2 for x in range(6) if x % 2 != 0]?
- What is the worst-case time complexity of searching for an element in a balanced binary search tree (AVL tree) containing n nodes?
- What will be printed by the following Python code snippet?
def func(val, lst=[]):
lst.append(val)
return lst
print(func(1))
print(… - Which abstract data structure operates on a First-In, First-Out (FIFO) ordering principle?
- What is the return value of executing the recursive Python function `mystery(4)`?
def mystery(n):
if n <= 1:
return 1
retur… - What is the worst-case time complexity of the standard QuickSort algorithm when the chosen pivot is consistently the smallest or largest ele…