QuickSort(퀵정렬), C, C++
Pivot을 기준으로 Pivot보다 작은 수는 왼쪽에, Pivot보다 큰 수는 오른쪽에 배치하여 정렬하는 기법이다. 이름처럼 매우 빠른 속도로 정렬한다. #include #include #define max 10 void QuickSort(int*, int, int); int Partition(int*, int, int); void QuickSort(int* a, int start, int end){ int index; if(start < end){ index = Partition(a, start, end); QuickSort(a, start, index-1); QuickSort(a, index+1, end); } else{ return ; } } int Partition(int* a, int start..
2020. 1. 14.
MergeSort(합병정렬), C, C++
데이터를 각각 낱개로 나눈 후 합치면서 정렬하는 알고리즘으로 속도면에서 빠르다. 주석은 내가 이해한대로, 해석한대로 달아보았고 추후에 이미지 설명이나 등등을 추가해볼 계획이다. #include #define MAX 6 void mergesort_divide(int*, int, int); void mergesort_conquer(int*, int, int, int); void mergesort_conqure(int a[], int start, int end, int mid_index){ //any array int b[1000]; //first index of left array int i = start; //first index of right array int j = mid_index + 1; //so..
2020. 1. 14.