Top MCQs on QuickSort Algorithm with Answers

Last Updated :
Discuss
Comments

Question 1

Suppose we have an O(n) time algorithm that finds the median of an unsorted array. Now consider a QuickSort implementation where we first find the median using the above algorithm, then use the median as a pivot. What will be the worst-case time complexity of this modified QuickSort?

  • O(n^2 Logn)

  • O(n^2)

  • O(n Logn Logn)

  • O(nLogn)

Question 2

What is recurrence for worst case of QuickSort and what is the time complexity in Worst case?

  • Recurrence is T(n) = T(n-2) + O(n) and time complexity is O(n^2)

  • Recurrence is T(n) = T(n-1) + O(n) and time complexity is O(n^2)

  • Recurrence is T(n) = 2T(n/2) + O(n) and time complexity is O(nLogn)

  • Recurrence is T(n) = T(n/10) + T(9n/10) + O(n) and time complexity is O(nLogn)

Question 3

Quicksort is run on two inputs shown below to sort in ascending order taking the first element as pivot,

(i) 1, 2, 3,......., n
(ii) n, n-1, n-2,......, 2, 1 

Let C1 and C2 be the number of comparisons made for the inputs (i) and (ii) respectively. Then,

  • C1 < C2 
     

  • C1 > C2

  • C1 = C2

  • We cannot say anything for arbitrary n

Question 4

Given an unsorted array. The array has this property that every element in the array is at most k distance from its position in a sorted array where k is a positive integer smaller than the size of an array. Which sorting algorithm can be easily modified for sorting this array and what is the obtainable time complexity?

  • Insertion Sort with time complexity O(kn)

  • Heap Sort with time complexity O(nLogk)

  • Quick Sort with time complexity O(kLogk)

  • Merge Sort with time complexity O(kLogk)

Question 5

In quick sort, for sorting n elements, the (n/4)th smallest element is selected as a pivot using an O(n) time algorithm. What is the worst-case time complexity of the quick sort?

(A) [Tex]\\theta [/Tex](n)

(B) [Tex]\\theta [/Tex](n*log(n))

(C) [Tex]\\theta [/Tex](n2)

(D) [Tex]\\theta [/Tex](n2 log n)

  • A

  • B

  • C

  • D

Question 6

Consider the Quicksort algorithm. Suppose there is a procedure for finding a pivot element that splits the list into two sub-lists each of which contains at least one-fifth of the elements. Let T(n) be the number of comparisons required to sort n elements. Then

  • T(n) <= 2T(n/5) + n

  • T(n) <= T(n/5) + T(4n/5) + n

  • T(n) <= 2T(4n/5) + n

  • T(n) <= 2T(n/2) + n

Question 7

Which one of the following is the recurrence equation for the worst case time complexity of the Quicksort algorithm for sorting n(≥ 2) numbers? In the recurrence equations given in the options below, c is a constant.

  • T(n) = 2T (n/2) + cn

  • T(n) = T(n – 1) + T(0) + cn

  • T(n) = 2T (n – 2) + cn

  • T(n) = T(n/2) + cn

Question 8

Randomized quicksort is an extension of quicksort where the pivot is chosen randomly. What is the worst case complexity of sorting n numbers using randomized quicksort?

  • O(n)

  • O(n*log(n))

  • O(n2)

  • O(n!)

Question 9

You have an array of n elements. Suppose you implement quick sort by always choosing the central element of the array as the pivot. Then the tightest upper bound for the worst case performance is

  • O(n2)

  • O(n*log(n))

  • Theta(n*log(n))

  • O(n3)

Question 10

Consider the Quicksort algorithm. Suppose there is a procedure for finding a pivot element which splits the list into two sub-lists each of which contains at least one-fifth of the elements. Let T(n) be the number of comparisons required to sort n elements. Then

  • T(n) <= 2T(n/5) + n

  • T(n) <= T(n/5) + T(4n/5) + n

  • T(n) <= 2T(4n/5) + n

  • T(n) <= 2T(n/2) + n

There are 28 questions to complete.

Take a part in the ongoing discussion