
Dual-Pivot Quick Sort는 기존 퀵 정렬의 변형된 형태로, 하나의 피벗을 사용하는 기존 퀵 정렬과 달리
두 개의 피벗을 사용하여 데이터를 세 영역으로 나누어서 정렬하는 알고리즘입니다
Dual-Pivot Quick 정렬 알고리즘은 다음과 같은 원리로 동작합니다.
두 피벗을 기준으로 배열의 데이터를 다음과 같이 분할합니다:
최선과 평균적인 상황에서 시간복잡도는 O(nlogn)이며, 기존 Quick Sort보다 더 빠른 속도를 보입니다
다만, 최악의 경우 배열이 불균형하게 분할되며 O(n^2)의 성능이 발생할 수 있습니다
Dual-Pivot Quick Sort는 추가적인 배열 사용이 없는 in-place 정렬 알고리즘입니다
O(n^2)의 성능이 발생할 수 있습니다Dual-Pivot Quick Sort는 Quick Sort 알고리즘을 두 개의 피벗으로 개선하여, 효율을 높인 알고리즘입니다
평균적으로 O(nlogn)의 시간복잡도를 가지며,
Java의 기본 배열 정렬 알고리즘으로 채택될만큼 입증된 성능을 보여줍니다
그러나 불안정 정렬, 최악의 경우 O(n^2)의 시간복잡도를 가진다는 단점도 가지고 있습니다