알고리즘 – 삽입 정렬 (Insertion Sort)
- 삽입 정렬 (Insertion Sort) 이란?
- 두 번째 원소부터 자신의 앞에 먼저 정렬된 리스트 안에서 자신의 위치를 찾아 삽입하여 정렬하는 알고리즘
- 비교 정렬에 속함
- 삽입 정렬 특징
- 최적의 상태에서 굉장히 빠른 성능을 가진 알고리즘 – O(N)
- 최악의 경우 O(N2) 로 성능의 편차가 심함
- 구현이 쉬움
- 삽입 정렬 알고리즘 시간 복잡도
- 최악, 평균 – O(N2)
- 최선 – O(N)
- 참고 – 각 정렬 알고리즘의 시간복잡도
- 두 번째 원소부터 자신의 앞에 먼저 정렬된 리스트 안에서 자신의 위치를 찾아 삽입하여 정렬하는 알고리즘
- 예제 – 오름차순
# Python Code
arr = [3,1,6,0,1,9,4]
N = len(arr)
for i in range(1, N):
temp = arr[i]
for j in range(i, 0, -1):
if temp < arr[j-1]:
arr[j] = arr[j-1]
arr[j-1] = temp
else:
break
print(arr)
# [0, 1, 1, 3, 4, 6, 9]
- 과정 – 오름차순

두 번째 원소부터 비교를 시작하며 자신의 앞에 정렬된 리스트 내에서 자신의 위치를 찾아 삽입합니다.





첫 번째 배열 이후 값은 존재하지 않으므로 기준 값을 첫 번째 배열에 삽입

위 과정을 반복하여 마지막 배열까지 정렬 시 아래와 같이 완성됩니다!

이상으로 삽입 정렬에 대한 설명을 마칩니다! 😀