1. 퀵 정렬(Quick sort) 1) 퀵 정렬이란? - 일반적으로 사용되고 있는 아주 빠른 정렬 알고리즘 - 각 그룹에 대해 피벗 설정과 그룹 나눔을 반복하여 모든 그룹이 1명이 되면 정렬을 마침 - 피벗(pivot) : 그룹을 나누는 기준이 되는 요소 - 시간복잡도는 O(n log n) - 하지만 최악의 경우, O(n²) 2) 배열을 두 그룹으로 나누기 - x : 피벗 - pl : 왼쪽 끝 요소의 인덱스 - pr : 오른쪽 끝 요소의 인덱스 (1) a[pl] >= x 가 성립하는 요소를 찾을 때까지 pl을 오른쪽으로 스캔 (2) a[pr] pr + 1인 경우에는 피벗과 일치하는 값을 가지는 그룹(a[pr+1], ... , a[pl-1])이 생길 수 있음 static void swap(int[] a,..