- 정렬되어 있는 데이터들을 비교하며 적절한 위치에 삽입
- 데이터가 거의 정렬 되어 있을 때, 효율적
시간 복잡도 : O(N^2) 최선의 경우 O(N)
공간 복잡도: O(N)
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(1, len(array)): #첫 번째 데이터는 정렬되어 있다고 판단
for j in range(i, 0, -1):
if array[j] < array[j-1]:
array[j], array[j-1] = array[j-1], array[j]
else:
break
'학 > Algorithm' 카테고리의 다른 글
[정렬] 계수 정렬(Count Sort) (0) | 2023.03.05 |
---|---|
[정렬] 퀵 정렬(Quick Sort) (0) | 2023.03.05 |
[정렬] 선택 정렬(Selection Sort) (0) | 2023.03.04 |
정렬 (0) | 2023.03.04 |
[구현] 행렬(Matrix) (0) | 2023.02.15 |