Why use a randomized quick sort, if we already get a random array?
If we receive a random array, and choose the last entry as the pivot every time,
isn't that still considered random since we received a random array in which we don't even know where each entry placement they're in.
PSEUDO CODE for Regular Quicksort
QUICKSORT(A,p,r)
if p< r
q = PARTITION(A,p,r)
QUICKSORT(A,p,q-1)
QUICKSORT(A,q+1,r)
PARTITION(A, p, r)
x = A[r]
i = p − 1
for j = p to r − 1 do
if A[j] ≤ x then
i = i + 1
exchange A[i] and A[j]
exchange A[i + 1] and A[r]
return i + 1
PSEUDO CODE for Randomized Quicksort
RandPartition(A, p, r)
i = Random(p, r)
exchange A[r] and A[i]
return PARTITION(A, p, r)
RandQuicksort(A, p, r)
if p < r then
q = RandPartition(A, p, r)
RandQuicksort(A, p, q − 1)
RandQuicksort(A, q + 1, r)