두뇌활동과 sql 자유자재로 다루기에 도움이 되는 쿼리 퀴즈입니다.
퀵소트는 아주 잘 알려진 정렬 알고리즘 중 하나이다.
알고리즘이 아주 간단한데
다음 단계를 거치면 된다.
1. 목록중 하나를 골라(주로 첫 항목) 그보다 작거나 같은 항목들과 큰 항목으로 분리한다.
2. 위에서 분리된 각각 항목을 퀵소트한다.
3. 작거나같은항목 퀵소트 결과 + 선택항목 + 큰항목 퀵소트 결과로 합친다.
이렇게 하면 퀵소트가 된다.
예를 들어서
38,27,43,9,3,82,10
의 목록이 있다면
제일 첫 항목인 38을 선택하여 이보다 작거나 같은 목록 27,9,3,10 과 43,82 로 나누면 다음과 같이 된다.
27,9,3,10 ,38, 43,82
그다음 두 부분에 똑같은 작업을 하면
9,3,10 ,27 ,38, 43, 82
그다음은
3 ,9, 10 ,27 ,38, 43, 82
이 되어 소트가 완성된다.
sql로 이 소트되는 중간 결과를 다음과 같이 출력하라.
레벨 중간결과
0 38,27,43,9,3,82,10
1 27,9,3,10,38,43,82
2 9,3,10,27,38,43,82
3 3,9,10,27,38,43,82
|