What sorting algorithm has an average and worst-case time complexity of and is based on a divide-and-conquer paradigm?
Answer and explanation
Correct answer: D. Merge Sort
- Step 1: Merge Sort recursively divides an array into halves until single-element subarrays remain, then merges them in sorted order.
- Step 2: Because division takes levels and merging each level takes work, its time complexity is guaranteed in all cases.
Answer
Merge Sort.
Why not the others: 'Bubble Sort' has worst-case ; 'Insertion Sort' has worst-case ; 'Selection Sort' always runs in time.
Practise more Python Programming, Data Structures, Algorithms, Networks and Cybersecurity.
Free questions with an explanation for every one, and full timed Saudi Secondary School Certificate mock tests.
More Python Programming, Data Structures, Algorithms, Networks and Cybersecurity questions
- What is the time complexity of searching for an element in an unsorted array of elements using linear search?
- What is the output of the following Python expression: `[x**2 for x in range(5) if x % 2 == 1]`?
- Which data structure operates on a Last-In, First-Out (LIFO) access principle?
- Which SQL clause is used to filter aggregated group records after a `GROUP BY` statement has been applied?
- What type of network topology connects all nodes to a central forwarding device such as a network switch?
- In cybersecurity, what type of malicious attack overwhelms a web server with massive volumes of traffic from multiple compromised sources to…