[Sort] 삽입 정렬

Sort Algorithm


03. 삽입 정렬 (Insert Sort)

각 숫자를 적절한 위치에 삽입하는 방법을 사용하는 알고리즘이다.

앞선 정렬들과는 다르게 필요할 때만 위치를 바꾸기 때문에 같은 시간 복잡도에 비해 비교적 효율적이다.


Source code


#include <stdio.h>

int main(void) {
	int i, j, temp;
	int array[10] = {1,10,5,8,7,6,4,3,2,9};
	
	for(i=0; i<9; i++) {
		j=i;
		while (array[j] > array[j+1]) {
			temp = array[j];
			array[j] = array[j+1];
			array[j+1] = temp;
			j--;
		}
	}
	
	for(i=0; i<10; i++) {
		printf("%d ", array[i]);
	}
	return 0; 
}


시간 복잡도

삽입 정렬의 시간복잡도는 : N x (N + 1) / 2 => O(N^2)


깃허브




© 2020.07. by Sanggoe

Powered by Sanggoe