참고: 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 (구종만 저)
이 글의 코드는 원저의 C++ 코드를 파이썬으로 옮긴 코드입니다.
삽입 정렬의 작동 방식
- 전체 배열 중 정렬되어 있는 부분 배열에 새 원소를 끼워넣는 일을 반복
- 배열을 순회하면서 그 앞의 원소가 해당 원소보다 크면 두 원소의 위치를 교환
- 전체 시간 복잡도는 역순으로 정렬된 배열이 주어질 경우
for
문에서 $O(N)$,while
문에서 $O(N)$이 되기 때문에 $O(N^2)$
1 |
|