Then modify the quicksort procedure to produce


Analysis of Quicksort with equal array elements. 

a. Suppose that all element values are equal. What would be randomized quick sort's running time in this case?

b. The PARTITION procedure returns index q such that each element of A[p .. q-1] is less than or equal to A[q] and each element of A[q+1 .. r] is greater than A[q]. Modify the PARTITION procedure to produce a procedure PARTITION'(A, p, r), which permutes the elements of A[p .. r] and returns two indices q and t, where p = q = t = r, such that
• all elements of A[q .. t] are equal
• each element of A[p .. q-1] is less than A[q], and • each element of A[t+1 .. r] is greater than A[q]
Like PARTITION, your PARTITION' procedure should take ?(r-p) time.

c. Modify the RANDOMIZED-QUICKSORT procedure to call PAR- TITION' and name the new procedure RANDOMIZED-QUICKSORT'. Then modify the QUICKSORT procedure to produce a procedure QUICK- SORT'(p, r) that calls RANDOMIZED-PARTITION' and recurses only on partitions of elements not known to be equal to each other.

d. Using Quicksort, how would you adjust the analysis in Section 7.4.2 to avoid the assumption that all elements are distinct.

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Then modify the quicksort procedure to produce
Reference No:- TGS083737

Expected delivery within 24 Hours