Algorithm
알고리즘 - 삽입 정렬
안중환
2015. 11. 12. 20:59
- insertion sort
- 오른쪽 리스트(정렬 안 된)에서 왼쪽 리스트(정렬 된)로 하나씩 자리를 찾아 삽입하면서 정렬
- 삽입을 위해 배열을 계속 이동시켜야 함
- 자료가 이미 정렬되어 있는 경우의 시간 복잡도 :
자료가 역순일 경우 최악의 복잡도 :
- 코드
void insertion_sort ( int *data, int n ) { int i, j, remember; for ( i = 1; i < n; i++ ) { j = i; remember = data[j]; while ( --j >= 0 && remember < data[j] ) data[j+1] = data[j]; data[j+1] = remember; } }