Table of Contents
Quicksort는 효율성에 널리 사용되는 분류 알고리즘입니다. 성능에 따라 실행 중에 예상치 못한 비교와 스왑을 분석하는 것이 포함됩니다. 이 기사는 Quicksort의 유대 분석에 초점을 맞춘 이러한 기대 뒤에 수학 원칙을 탐구합니다.
예상된 비교 수
Quicksort의 예상 숫자는 피벗과 파티션 프로세스의 선택에 따라 달라집니다. 모든 변이를 모두 똑같게 구성하는 것은 평균 사례가 재발식 방정식을 사용하여 분석 될 수 있습니다. 크기 n, 예상 비교, ]C(n), recurrence를 만족:
C(n) = n - 1 + frac{1}{n}} sum {k=0}^{n-1} [C(k) + C(n - 1 - k)]
이 반복은 잘 알려진 결과에 단순화: ]C(n) ≈ 2n ln n 대 n]]. 파생는 모든 가능한 피벗 포지션을 합산하고 조화된 숫자의 속성을 적용하는 것을 포함한다.
예상된 수의 Swaps
Quicksort의 스왑은 파티션 처리 중에 발생합니다. 예상 수의 스왑은 비교 수와 피벗 선택의 배포와 관련이 있습니다. 획일한 임의의의 밑에, 예상 스왑, S(n)[, 파티션 단계 분석에 의해 대략적인 수 있습니다.
각 파티션 단계는 피벗의 정확한 배치를 보장하기 위해 요소를 스왑합니다. 파티션 당 예상 스왑은 subarrays의 크기에 비례합니다. 모든 반복 통화를 요약하면 대강 수율 : S(n) ≈ n ln n.
기대의 개요
- Comparisons: 대 한 약 2n ln n n.
- Swaps: 대 n ln n n].
- 두 미터는 배열 크기로 통용되는, 반사 Quicksort의 효율성을 증가합니다.