Question is from algorithams analysis & design course 3. Consider the following
ID: 3883826 • Letter: Q
Question
Question is from algorithams analysis & design course
3. Consider the following sorting algorithm (the UNH sort) to sort an array A[1..n].
for i = n-1 downto 1 do
for j = 1 to i do
if A[j] > A[j+1] then
swap(A[j],A[j+1])
(a) Trace this sorting algorithm on the list 6,3,7,5,9,2 i.e. show what the list looks like after each iteration of the outer loop. Also, calculate the exact number of total data comparisons made.
(b) Do a worst case analysis (use big O notation) of the running time of this algorithm. give the explanation and final answer.
(c) Do a best case analysis (use big O notation) of the running time of this algorithm. give the explanation and final answer.
Explanation / Answer
for i = n-1 downto 1 do
for j = 1 to i do
if A[j] > A[j+1] then
swap(A[j],A[j+1])
6,3,7,5,9,2 (Original Array)
First Pass => 6 > 3 , Swap 3,6,7,5,9,2 , 7 > 5 , Swap 3,6,5,7,9,2 , 9 > 2 , Swap 3,6,5,7,2, 9
3,6,5,7,2,9
Second Pass => 6 > 5 , Swap 3,5,6,7,2,9 , 7 > 2 , Swap 3,5,6,2,7,9
3,5,6,2,7,9
Third Pass => 6 > 2 , Swap 3,5,2,6,7,9
3,5,2,6,7,9
Fourth Pass => 5 > 2 , Swap 3,2,5,6,7,9
3,2,5,6,7,9
Fourth Pass => 3 > 2 , Swap 2,3,5,6,7,9
Total Number of comparison made : N = 6
First paas we made 5 comparision ,
Second paas we made 4 comparision ,
Third paas we made 3 comparision ,
Fourth paas we made 2 comparision ,
Fifth paas we made 1 comparision
i.e 6 +5 + 4+ 3 +2 +1 = 21
b) Worst Case time complexity depends on number of comparision
=> n(n-1)/2
=> T(n) = O(n2)
c) Best case will occur if the array is sorted i.e 1 2 3 4 5 , if condition wont be satisfied
Thats the best case i.e T(n) = O(n)
Thanks, let me know if there is any concern.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.