Quick Sort는
최악의 경우 n^2
평균 nlgn
퀵 정렬의 내부 루프는 컴퓨터 아키텍쳐에서 효율적으로 작동되도록 설계되어 있다.
(메모리 참조가 지역화되어 있기 때문에 CPU캐시의 히트율이 높다.)
핵심만 정리하자면
pivot의 왼쪽엔 pivot보다 작은값
pivot의 오른쪽엔 큰값
do
if arr[i] > pivot && arr[j] < pivot // i와 j는 알아서 증가한다고 가정
swap arr[i++], arr[j--]
while(i <= j)
if(left < j) quickSort(arr, left, j)
if(right > i) quickSort(arr, i, right)
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 1932 숫자삼각형 풀이 (0) | 2017.12.02 |
---|---|
BOJ 백준온라인져지 1085 직사각형에서 탈출 풀이 (0) | 2017.12.01 |
BOJ 백준온라인져지 11651 좌표 정렬하기 2 풀이 (0) | 2017.11.30 |
BOJ 백준온라인져지 1004 어린 왕자 풀이 (0) | 2017.11.30 |
BOJ 백준온라인져지 1002 터렛 풀이 (0) | 2017.11.30 |