Question: Consider the following algorithm // L is a list and n is its length // // For the purpose of this assignment we assume
Consider the following algorithm // L is a list and n is its length // // For the purpose of this assignment we assume that n= 4**k, for k1// Alg1 (L,n) remove the smallest and largest element from L if n-2> (4**k)/2 call Alg1 (L, n-2) a) What is the algorithm intended to do? b) Is it correct? If it is not correct discover the error(s) when trying to prove correctness and fix it (them). Then, reprove the correctness. c) What is its time complexity? d) Can it be improved? You may use any algorithm discussed in class.
Step by Step Solution
3.41 Rating (154 Votes )
There are 3 Steps involved in it
a The algorithm Alg1 is intended to recursively remove the smallest and largest elements from a list ... View full answer
Get step-by-step solutions from verified subject matter experts
