3. Week10. 랜덤화된 퀵정렬
평균적으로 입력이 어떤 모습일까?
좋은 분할과 나쁜 분할이 섞여 있다
최악을 피하기 위해 입력을 평균적인 경우로 직접 만들자
평균에 가깝게 하기 위해 입력을 무작위로 한번 더 섞자
RANDOMIZED-PARTITION
i = RANDOM(p, r)
A[r] <-> A[i]
return PARTITION(A, p, r)
RANDOMIZED-QUICKSORT
if (p < r)
q = RANDOMIZED-PARTITION(A, p, r)
RANDOMIZED-QUICKSORT(A, p, q - 1)
RANDOMIZED-QUICKSORT(A, q + 1, r)