Merge Sort (병합 정렬) #include #include #define SIZE 5 int sorted[SIZE]; void merge(int list[], int left, int mid, int right){ int i, j, k, l; i = left; j = mid+1; k = left; /* 분할 정렬된 list의 합병 */ while(i Computer Science/Algorithm 2020.09.03
Selection sort(선택 정렬) - 최솟값 선택 정렬이라고 이해하면 쉬움 - key값을 포함해서 최소값을 찾고, 그 최소값이 key값이 아니면 key값과 swap함 #include #include void swap(int* a, int* b) { int temp; temp = *a; *a = *b; *b = temp; } int selectionSort(int* arr, int size) { int i, j; int idxMin; int key; for ( i = 0; i arr[j] ) idxMin = j; } if (idxMin != i ) swap(&arr[i].. Computer Science/Algorithm 2020.08.31
Bubble sort(버블소트) Bubble sort(버블소트) 시간복잡도: Best = Average = Worst = O(n^2) #include #include void bubbleSort(int* arr, int size) { int temp; int i, j; for ( i = size-1; i > 0; i-- ){ for ( j = 0; j arr[j+1] ){ temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } int maind() { int size; int *arr; int i; scanf("%d", &size); arr = (int *)malloc(sizeof(int)*size); for ( i = 0; i < size.. Computer Science/Algorithm 2020.08.31