5. Recall the median-of-medians quickselect algorithm presented in class: algorithm MoMSELECT(k, S, 1, h): if h 25 then use brute force (a) (b) else m← (h-1)/5 for i = 1 to m do M; ← MEDIANOFFIVE(S1+5i-4...1+5i) mom← MOMSELECT(m/2, M,1,m) S1 Smom P PARTITION (S,1,h) ← if k = p then return Sk else if k < p then MOMSELECT(k, S, 1, p − 1) else MOMSELECT(k, S, p + 1, h) Refine the lines (a) and (b) of the algorithm so that the array M or medians does not require additional storage space. Explain how your modifications maintain the correctness and running time of the algorithm.

icon
Related questions
Question
5. Recall the median-of-medians quickselect algorithm presented in class:
algorithm MoMSELECT(k, S, 1, h):
if h
25 then use brute force
(a)
(b)
else
m← (h-1)/5
for i =
1 to m do M; ← MEDIANOFFIVE(S1+5i-4...1+5i)
mom← MOMSELECT(m/2, M,1,m)
S1
Smom
P PARTITION (S,1,h)
←
if k = p then return Sk
else if k < p then MOMSELECT(k, S, 1, p − 1)
else MOMSELECT(k, S, p + 1, h)
Refine the lines (a) and (b) of the algorithm so that the array M or medians does not require
additional storage space. Explain how your modifications maintain the correctness and
running time of the algorithm.
Transcribed Image Text:5. Recall the median-of-medians quickselect algorithm presented in class: algorithm MoMSELECT(k, S, 1, h): if h 25 then use brute force (a) (b) else m← (h-1)/5 for i = 1 to m do M; ← MEDIANOFFIVE(S1+5i-4...1+5i) mom← MOMSELECT(m/2, M,1,m) S1 Smom P PARTITION (S,1,h) ← if k = p then return Sk else if k < p then MOMSELECT(k, S, 1, p − 1) else MOMSELECT(k, S, p + 1, h) Refine the lines (a) and (b) of the algorithm so that the array M or medians does not require additional storage space. Explain how your modifications maintain the correctness and running time of the algorithm.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer