
[Algorithm / Java] ✒️ Quick Sort (퀵 정렬)
·
Algorithm & Data Structure/study
Quick Sort란? 이름에서도 보이듯이 빠른(Quick) 정렬이다. 퀵 정렬의 메커니즘은 크게 다음과 같다. 하나의 리스트를 pivot(피벗)을 기준으로 두 개의 부분리스트로 나누어 하나는 pivot보다 작은 값들의 부분리스트, 다른 하나는 pivot보다 큰 값들의 부분리스트로 정렬한 다음, 각 부분리스트에 대해 다시 위처럼 재귀적으로 수행하여 정렬하는 방법이다. 알고리즘의 '분할 정복(Divide and Conquer)'을 기반으로 정렬되는 방식이다. 다만, Merge Sort(병합 정렬)과 다른 점은 병합정렬의 경우 하나의 리스트를 절반으로 나누어 분할 정복을 하고, Quick Sort(퀵 정렬)의 경우 pivot(피벗)의 값에 따라 pivot보다 작은 값을 갖는 부분리스트와 pivot보다 큰 값..