def randomized_select(A, p, r, i): if p == r: return A[p] q = randomized_partition(A, p, r) k = q - p + 1 if i == k: return A[q] elif i < k: return randomized_select(A, p, q - 1, i) else: return randomized_select(A, q + 1, r, i - k)
def randomized_quicksort(A, p, r): if p < r: q = randomized_partition(A, p, r) randomized_quicksort(A, p, q - 1) randomized_quicksort(A, q + 1, r)