CS146
Chris Pollett
Mar 12, 2014
BUCKET-SORT(A) 1 n = A.length 2 let B[0..n-1] be a new array 3 for i = 0 to n - 1 4 make B[i] an empty list 5 for i = 1 to n 6 insert A[i] into list B[floor(nA[i])] 7 for i = 0 to n - 1 8 sort list B[i] with insertion sort 9 concatenate the lists B[0], B[1], ... , B[n - 1] together in order
MINIMUM(A) 1 min = A[1] 2 for i = 2 to A.length 3 if min > A[i] 4 min = A[i] 5 return min
RANDOMIZED-SELECT(A, p, r, i) 1 if p == r 2 return A[p] 3 q = RANDOMIZED-PARTITION(A, p, r) 4 k = q - p + 1 5 if i == k // the pivot was the answer 6 return A[q] 7 elseif i < k 8 return RANDOMIZED-SELECT(A, p, q - 1, i) 9 else return RANDOMIZED-SELECT(A, q + 1, r, i - k)