练习题
9.1 最小值和最大值
9.2 以期望线性时间做选择
RANDOMIZED-SELECT(A, p, r, i)
1 while true
2 if p = r
3 then return A[p]
4 q <- RANDIMIZED-PARTITION(A, p, r)
5 k <- q - p + 1
6 if i = k
7 then return A[q]
8 else if i < k
9 then q <- q-1
10 else
11 q <- q + 1
12 i <- i - k9.3 最坏情况线性时间的选择
Last updated