[은행 필기대비 자료구조-04] 정렬 알고리즘_2
5. 퀵정렬
==> 데이터의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어가면서 정렬
==> 1번째 데이터를 중심으로 중간값 설정 , 중간값을 적당한 곳에 위치시켜서 대상 자료를
부분적으로 나누어가는 방식
EX) [5 ,3 ,8 ,4 ,9 ,1 ,6 ,2 ,7]
㉠ 1회전
1. 5[pivot] 3 8 4 9 1 6 2 7[end]
2.start부터 pivot보다 큰값 찾기 , end부터 pivot보다 작은 값 찾기 ==> 5[start, pivot] 3 8 4 9 1 6 2 7[end]
3. 교환 ==> 5[start, pivot] 3 2 4 9 1 6 8 7[end]
4. start부터 pivot보다 큰값 찾기 , end부터 pivot보다 작은 값 찾기 ==> 5[start, pivot] 3 2 4 9 1 6 8 7[end]
5. 교환 ==> 5[start, pivot] 3 2 4 6 1 9 8 7[end]
6. start부터 pivot보다 큰값 찾기 , end부터 pivot보다 작은 값 찾기 ==> 5[start, pivot] 3 2 4 6 1 9 8 7[end]
7. 교환 ==> 5[start, pivot] 3 2 4 1 6 9 8 7[end]
8. start부터 pivot보다 큰값 찾기 , end부터 pivot보다 작은 값 찾기 ==> 5[start, pivot] 3 2 4 1 6 9 8 7[end]
9. 큰값과 , 작은 값이 엇갈린다! ==> 작은값과 pivot 값 교환 ==> 1[start, pivot] 3 2 4 5 6 9 8 7[end]
==> 1 3 2 4 5 6 9 8 7
㉡ 2회전
1. 1[start, pivot] 3 2 4[end] // 6