Answered You can buy a ready-made answer or pick a professional tutor to order an original one.

QUESTION

# Recurrcive in quick sort.

.One can optimize Quicksort to eliminate the cost of function calls by replacing the recursion with a stack to track the sub-arrays that should be processed “recursively.”

(a) How many sub-arrays can be put on the stack in the worst case?

(b) Quicksort makes two recursive calls. The algorithm could be changed to make these two calls in a specific order. In what order should the two calls be made so as to minimize the size needed for the stack, and how does this affect how large the stack can become?

ANSWER

Tutor has posted answer for \$10.00. See answer's preview

\$10.00

*** *** ***** **** ** ***** **** **** ** *** *** ***** ***** **** **** **** ** ** ******* ****** ** comparisonsSo * **** *** building *** ***** **** in ****** ** ******* Suppose *** ***** in ***** step ***** sorting ** ********** For ***** case *** ***** ****** **** **** must ** {02461357} ******* **** **** *************** *** right *************** **** result in ******* comparisons(Storing alternate elemets ** **** and ***** ********* Reason: ***** element ** ***** will be ******** ******* once ******** *** **** ***** ***** for left *** ***** ******** for ******** ***** * *** ***** {0246} *** ***** case **** be ** *** previous ***** ** **** *** **** *** for ***** {1357} the ***** **** **** be *** **** and {37} Now ******** the **** *** ******** **** ******* *** worst ****** {04} **** be {40} {26} **** ** {62} **** **** ** {51} {37} **** ** **** Well if you **** clearly this **** ** *** ********* because ** *** **** ** ********* ** * then every element **** be compared atleast once **** ** ***** ** **** 2 ** ********* ***** *** **** *** ********* *** ***************** ***** **** ***** ****** *** ************ array ***** * ********** * \ / * [4062] and [5173] * \ * \ * * * * [40] **** [51] **** ***** **** ** 2 **** ** ******** ******* **** therefore maximum ********** **** * * * * * * * * **** **** **** **** ******* **************** **** ** *** ** used ** ********** * * * * \ * \ * [0246] ****** ******* ********** again: ***** **** of set ******** \ * * / ********** *** you can ***** the same ***** *** *** array of **** ****** is the ******* ***** ********** the ***** logicNote:The below ******* ***** ***** *** ****** of * **** ** is a generalized method to ******* *** ***** case for *** array ** size * You *** try ********* ****** *** input by ************* MergeWorstCase{ ****** ****** **** print(int ****** { Systemoutprintln(); for(int ***** *********************** *** ******************* * ****** static **** *********** *** int[] **** int[] ****** * int *** ********* *************** ********* **************** * ****** a ****** ***** **** public ****** void ************** arr) * ******************* ******* **************** * *** swap=arr[0]; ************** ************ ******* * int *** int * * ********** * ** * ** *** ****** * *** ******* *** right[] * *** ***************** for(i=0j=0;i *************** for(i=1j=0;i right[j]=arr[i]; *************** **************** ********* **** ******* } ****** ****** **** *********** ******* * int arr1[]={01234567}; seperate(arr1); ******************* ***** ***** ************ *** ******************* *************** Systemoutprint("For array ***** ************ ************ array *** * 2 5 * * 3 For ***** *** * 6 2 * 1 * * *** ********* *** ***** ********** ******* *** O(nlogn) ******* **** ******* ******* ****** ******** ** ***** **** ** **** scenarios ******* many factors influence an ************* ******* and **** ****** **** all ******** ********* wins outIn particular the ************ ******* ** ******* ********** ****** to the number of *********** or the ****** ** ***** necessary ** ******* ** **** *** data This ** ****** * good measure ** performance especially ***** ****** *********** of *** ********** ******** ****** ******* other ****** *** **** ** ******** ** ********* (ie ** we **** **** of ******** which *** ******** ** ******* – **** **** ** ********* **** on ******* ******** ********* ** ********** ******** ****** additional ***** *** ******** **** cache ******** *** **** ***** it faster **** ***** **** ** many ******* ******** ****** **** easy to ***** ************* ********** run **** ** ***** ****** ******** by ***** ** appropriate ****** ** *** ***** *** such ** picking it ** ****** ***** ** an ********* *********** ******** **** ****** *************** ** ********* *** ********** libstdc++’s ********** *** actually introsort ***** *********** worst-case ** O(nlogn) same as ***** **** ** ******** **** ** ******** the ********* ***** and ********* ** * different ********* ********** once ** ******* ****

or
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!