1. 삽입정렬이란?

두번째 인덱스부터 시작하여 해당 인덱스 앞에 있는 데이터부터 비교해서 그 값이 더 크다면 값을 서로 교환.

 

2. 구현코드

def insertion_sort(data):
	for stand in range(len(data)-1):
    		for idx in range(stand+1, 0, -1):
            		if data[idx] < data[idx-1]:
                		data[idx], data[idx-1] = data[idx-1], data[idx]
                        else:
                		break
	return data

 

3. 시간복잡도

  • 최악의 경우: O(N^2)
  • 완전 정렬이 된 경우: O(N)

 

 

 

 

 

 

 

'Algorithm > 정렬' 카테고리의 다른 글

병합 정렬(Merge sort)  (0) 2020.03.25
퀵 정렬(Quick sort)  (0) 2020.03.23

+ Recent posts