Insertion Sort
삽입정렬은 Stable한 정렬로 1번째 인덱스부터 시작해 N번째 인덱스까지 반복하며 자신이 삽입될 위치를 찾아 스왑한다
평균 O(N^2)의 시간복잡도와 O(1)의 공간 복잡도를 가지게 되며 코드가 단순해 구현이 간단하다
최선의 시간 복잡도는 O(N)이다
어느정도 정렬된 배열에 대해선 속도가 우수하다
적은 크기의 배열의 정렬(엔티티 2^5~2^6개) 에 대해서 속도가 우수하다
동작 원리
오름차순 정렬 기준
- 1번째 인덱스부터 시작한다
- 앞 인덱스의 값이 자신보다 작을때 까지 스왑한다
- 다시 1번으로 돌아가 N-1번째 인덱스까지 반복한다
구현
c++
1 |
|