
[알고리즘] 삽입 정렬 구현 (c언어)
·
🤯 데이터구조와 알고리즘
🌿삽입정렬이란? 기본 정렬 알고리즘 중 하나이며, KEY를 선택후 배열의 값들과 비교해가며 삽입을 할지 안할지 결정한다. 최적의 경우 -> 이미 정렬된 배열에서는 O(n)의 시간복잡도를 가진다. 최악의 경우 -> O(n^2)의 시간 복잡도를 가진다. 🌿최적의 경우가 O(n)인 이유 다른 기본 정렬알고리즘들과는 다르게 삽입 정렬은 정렬된 배열에서 O(n)을 가지는데 void insertion_sort(int* arr, int size) { int i, j, key; for (i = 1; i = 0 && arr[j] > key; j--) { //***여기 부분때문에 최적의 경우 O(n)을 가짐! arr[j + 1] = ar..