퀵 정렬은 참 미묘하고도 재밌는 정렬 방법입니다. 일단 퀵 정렬은 일반적인 조건에서 가장 성능이 좋은 정렬 알고리즘 중 하나입니다. 그래서 C나 C++ 언어의 표준 라이브러리에서는 퀵 정렬 혹은 퀵 정렬을 개선한 하이브리드 알고리즘을 사용합니다. (Java의 경우는 개선된 병합정렬을 사용합니다)퀵 정렬은 분할을 재귀적으로 수행하는 알고리즘입니다. 그래서 보통의 경우에는 Divide and Conquer 알고리즘이 보여주는 O(NlogN) 성능을 나타내지만 경우에 따라 O(N*N)의 성능이 나오기도 하는 등 변덕스럽기 그지 없습니다.





.jpg)