|
SORT ALGORITHM
Ascending Sort ( 오름차순 정렬 ) - 작은 값에서 큰 값 순으로 배치
Descending Sort ( 내림차순 정렬) - 큰 값에서 작은 값으로 배치
1. Selection Sort ( 선택 정렬 )
: 하나의 데이터를 나머지 데이터와 비교하면서 정렬
예) 7, 4, 5
1단계 : 첫번째 값과 두번째 값 비교, 7과 4를 비교 => 4,7,5
2단계 : 첫번째 값과 세전째 값 비교, 4와 5를 비교 => 4,7,5
3단계 : 두번째 값과 세번째 값 비교, 7과 5를 비교 => 4,5,7
2. Bubble Sort ( 거품 소트 )
: 서로 인접한 데이터끼리 비교하면서 정렬
예) 7, 4, 5
1단계 : 첫번째 값과 두번째 값 비교, 7과 4를 비교 => 4,7,5
2단계 : 두번째 값과 세번째 값 비교, 7과 5를 비교 => 4,5,7
3단계 : 두번째 값과 세번째 값 비교, 5와 7를 비교 => 4,5,7
3. Insertion Sort ( 삽입 정렬 )
: 데이터를 특정 위치에 끼워 넣는 방식, 부분적으로 소트가 되어 있는 정렬에 유용함,
두번째 수부터 마지막번째 수를 가지고, 이전수와 비교하여 이전수가 크면, 한번더 이전수와 비교,
이전수가 작고 다음수가 큰 지점에 삽입하는 정렬
예) 7, 4, 5, 10, 1
1단계 : 두번째 값과 첫번째 값 비교, 4와 7을 비교 => 4,7,5,10,1
2단계 : 세번째 값과 두번째 값 비교, 5와 7을 비교 => 4,5,7,10,1
3단계 : 두번째 값과 첫번째 값 비교, 5와 4를 비교 => 4,5,7,10,1
4단계 : 네번째 값과 세번째 값 비교, 10과 7을 비교 => 4,5,7,10,1 작지 않으므로 다음 단계로
5단계 : 다섯번째 값과 네번째 값 비교, 1과 10을 비교 => 4,5,7,1,10
6단계 : 네번째 값과 세번째 값 비교, 1과 7을 비교 => 4,5,1,7,10
7단계 : 세번째 값과 두번째 값 비교, 1과 5를 비교 => 4,1,5,7,10
8단계 : 두번재 값과 첫번째 값 비교, 1과 4를 비교 => 1,4,5,7,10
4. Shell Sort ( 조개 정렬 )
: Insertion Sort 를 응용한 방식
5. Quick Sort ( 퀵 정렬 )
6. Merge Sort ( 병합 정렬 )
7. Radix Sort ( 기수 정렬 )
8. Heap Sort ( 힙 정렬 )
|