Quicksort
-
[간단 정리] 퀵 정렬컴퓨터 과학/자료구조와 알고리즘 2019. 11. 27. 01:16
*오름차순 기준입니다 정렬 알고리즘 중에 퀵 정렬이 가장 성능이 좋다. 다른 원소와 비교하여 정렬을 수행하는 비교 정렬에 속한다. 최악의 시간 복잡도는 O(N^2)이지만 최선과 평균이 O(NlogN)이다. 원소들 중에 같은 값이 있으면 순서가 달라질 수 있기 때문에 불안정 정렬이다. 기본적인 동작 1. 배열 중에 하나의 원소를 골라 피벗(기준)을 정한다. 2. 피벗을 기준으로 앞에는 피벗보다 작은 값, 뒤에는 큰 값이 오도록 나눈다. 이를 분할이라고 한다. 3. 분할된 배열에 대해 위 과정을 재귀적으로 반복한다. 최악의 경우는 피봇으로 가장 작은 수가 선택되거나 큰 수가 선택될 때인데, 이는 중위값을 선정해 해결할 수 있다. 0번째, 가운데, 마지막 요소 중에서 중간 값을 피벗으로 정하면 된다. 퀵 정렬..