Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Week10 quicksort performance


Published on

quick sort

Published in: Software
  • Be the first to comment

  • Be the first to like this

Week10 quicksort performance

  1. 1. Week10. 퀵소트의 성능 1/2에 가깝게 분할할 수 있는가? 나쁜 분할 좋은 분할 T(n) = T(n-1) + T(0) + θ(n) = T(n2) T(n) = 2T(n/2) + θ(n) = T(n lg n)
  2. 2. Week10. 퀵소트의 성능 균등하게 분할하는 것이 수행속도에 영향을 미치는가?
  3. 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)