삽입 정렬(Insertion Sort)
-이미 정렬 돼있는 배열에 추가 요소를 적절한 위치(?)에
삽입(Insertion) 하여 정렬하는 방식-
평균 시간복잡도, 최악 시간복잡도 모두 O(n^2)인 느린 알고리즘..
다만 구현이 용이하며 인플레이스(in-place) 알고리즘이라 한다.
여기서 "적절한 위치"라는 말은,
오름차순이냐 내림차순이냐에 따라 비교하는 조건이 달라질 것인데,
그 조건에 맞게 비교하고 교환을 하라는 뜻이다.
또한 "이미 정렬 돼있는 배열"이라는 말은
첫 Loop때 배열의 첫 번째 요소와 두 번째 요소는 무조건 정렬을 시키고
이후 Loop 부터는 그 정렬된 배열과 비교하며 교환을 하는 방식이라서 그렇다.
-Sample Source-
'알고리즘' 카테고리의 다른 글
퀵 정렬 (Quick Sort) (0) | 2017.06.06 |
---|---|
선택정렬 (Selection Sort) (0) | 2017.06.05 |
버블 정렬 (Bubble Sort) (0) | 2017.06.05 |