퀵 정렬(Quick Sort)
"퀵 정렬" : 특정한 값을 기준으로 큰 숫자와 작은 숫자를 서로 교환한 뒤에 배열을 반으로 나누는 정렬 방법 시간 복잡도 : O(N * logN) 최악의 시간 복잡도 : O(N^2) 대표적인 '분할 정복' 방법을 채택한 알고리즘 재귀함수로 구현 "피벗(Pivot)" : 기준 값 보통 맨 앞 요소를 피벗으로 설정 class Sort { public void Quick_Sort(int[] arr, int start, int end) { if(start >= end) // 원소가 한 개인 경우, 그대로 두기 return; int pivot = start; // 피벗은 첫 번째 원소 int i = start + 1; int j = end; while(i j) { // 현재 엇갈린 상태이면, 피벗과 교체 int..