퀵 정렬은 합병 정렬 ( Merge Sort ) 와 마찬가지로 배열을 둘 씩 분할하여 정렬하는 방식입니다.
즉, 퀵 정렬은 양 끝에서 피벗을 기준으로 피벗보다 작은 값을 갖는 위치에 있어야 할 원소가 피벗보다 크거나, 그 반대인 경우 서로 원소를 교환하는 방식이다.
시간 복잡도 평균적으로 O(n log n) 을 가집니다. 합병 정렬도 O(n log n) 시간복잡도를 가지지만 실제 정렬에서 합병 정렬보다 훨씬 빠른 시간 안에 정렬이 가능 합니다.
퀵 정렬은 분할 정복( Divide and Conquer ) 방식으로 진행 됩니다.
퀵 정렬은 불안정 정렬이며, 다른 원소와 비교만으로 정렬을 수행하는 비교 정렬에 속합니다.
추가적으로 자바에서는 primitive 타입 배열들의 경우 dual-pivot quick sort 을 기본 정렬로 사용합니다.