Week 2 Quiz: Design and Analysis of Algorithms
Week 2 Quiz: Design and Analysis of Algorithms
Week 2 Quiz: Design and Analysis of Algorithms
Week 2 Quiz
.
Submitted assignment
All questions carry equal weightage. You may submit as many times as you like within the deadline.
Your final submission will be graded.
1) Consider the following variation of the merge function, where the input lists A and B are 2 points
assumed to be sorted, with no duplicated elements, and C is the output list.
function StrangeMerge(A,m,B,n,C) {
// A has m elements, B has n elements
i = 0; j = 0; k = 0;
if (i != m and j != n) {
if (A[i] < B[j]) {C[k] = A[i]; i++; k++;}
if (A[i] == B[j]) {i++; j++;}
if (A[i] > B[j]) {j++;}
}
}
}
Accepted Answers:
C contains all values in A that do not occur in B.
2) Suppose we modify mergesort as follows. We split the input into three equal segments, 2 points
recursively sort each segment and then do a three way merge of the three sorted segments to obtain a
fully sorted output.
If we work out the recurrence for this variant, we find that the worst case complexity is O(n log3 n), as
opposed to O(n log2 n) for the usual divide and conquer that splits the input into two equal segments.
Let us call the new version 3-way mergesort. What can we say about the asymptotic worst case
complexity of 3-way-mergesort with the usual mergesort?
https://onlinecourses.nptel.ac.in/noc17_cs27/unit?unit=137&assessment=138 1/3
04/01/2018 Design and analysis of algorithms - - Unit 6 - Week 2 Quiz
The asymptotic worst case complexity of 3-way mergesort is better than that of usual
mergesort.
The asymptotic worst case complexity of 3-way mergesort is the same as that of usual
mergesort.
The asymptotic worst case complexity of 3-way mergesort is worse than that of usual
mergesort.
This depends on the length and the initial arrangement of values of the input.
Accepted Answers:
The asymptotic worst case complexity of 3-way mergesort is the same as that of usual mergesort.
3) Suppose a new generation CPU can process 1010 operations per second. You have to sort 2 points
Insertion sort could take several hours while merge sort will always take less than 1 second.
Insertion sort will always take several hours while quicksort will always take less than 1 second.
Insertion sort will always take several hours while merge sort will always take less than 1
second.
Insertion sort could take several hours while quicksort will always take less than 1 second.
Accepted Answers:
Insertion sort could take several hours while merge sort will always take less than 1 second.
For every fixed strategy to choose a pivot for quicksort, we can construct a worst case input that
requires time O(n2).
If we randomly choose a pivot element each time, quicksort will always terminate in time O(n
log n).
If we could find the median in time O(n), quicksort would have worst case complexity O(n log n).
Quicksort and merge sort are both examples of divide and conquer algorithms.
Accepted Answers:
If we randomly choose a pivot element each time, quicksort will always terminate in time O(n log n).
[(9,0,9),(7,1,8),(6,1,4),(0,2,5),(6,5,9),(3,5,7)]
[(0,2,5),(3,5,7),(6,1,4),(6,5,9),(7,1,8),(9,0,9)]
[(9,0,9),(6,1,4),(7,1,8),(0,2,5),(3,5,7),(6,5,9)]
[(9,0,9),(7,1,8),(6,1,4),(0,2,5),(3,5,7),(6,5,9)]
Accepted Answers:
[(9,0,9),(7,1,8),(6,1,4),(0,2,5),(3,5,7),(6,5,9)]
https://onlinecourses.nptel.ac.in/noc17_cs27/unit?unit=137&assessment=138 2/3
04/01/2018 Design and analysis of algorithms - - Unit 6 - Week 2 Quiz
https://onlinecourses.nptel.ac.in/noc17_cs27/unit?unit=137&assessment=138 3/3