1. 일반 삽입 정렬(Insertion Sort)
: 이미 정렬되어 있는 배열에 추가 요소를 적절한 위치에 삽입(끼워넣기)함으로써 정렬을 수행하는 알고리즘이다.
: 평균/최악 시간복잡도 O(n^2)으로 느린 정렬 방식이다.
: 정렬 수행 시 추가 저장 공간이 필요하지 않는 In-Place 알고리즘이다.
: 구현이 용이하다.
2. 순차 삽입 정렬(Sequential Insertion Sort)
: 선택 정렬과 비교 방식은 동일하나, 자료의 교환 방식이 맞교환이 아니라 끼워넣기이다.
: 끼워넣어야 하므로 중간의 자료들을 모두 밀어내는 과정이 필요하다.
3. 선택 정렬 (Selection Sort)
: 수열에서 가장 작은 데이터를 찾아 맨 앞 데이터와 교환하고, 맨 앞 데이터를 제외한 나머지 부분 수열에 대해서도 같은 과정을 반복.
: 데이터가 n개일 때, 데이터 교환은 많아야 n-1번이고, 전체 비교횟수는 n(n-1)/2이므로 시간복잡도는 O(n^2)
'Algorithm > 기타' 카테고리의 다른 글
Dynamic Programming, 동적계획법 (0) | 2016.12.04 |
---|---|
Dijkstra 다익스트라 알고리즘 (우선순위 큐를 사용하지 않는) (0) | 2016.12.04 |
B-Tree (0) | 2016.11.07 |
조합 (Combination) (1) | 2016.11.04 |
순열 (Permutation) (0) | 2016.11.04 |