7. 정렬 (2) - 합병 정렬, 힙 정렬, 쉘 정렬
알고리즘/스터디 2020. 8. 18. 01:37

합병 정렬 폰 노이만에 의해 만들어진 정렬 방법이다. 분할 정복(Divide and Conquer)를 이용한 정렬 방법으로, 문제를 작은 문제로 나누고 각각을 해결한 다음, 그 결과로 큰 문제를 해결하는 방법이다. 합병 정렬(Merge Sort)은 3가지 과정으로 구성된다. 분할(Divide) = 배열을 같은 크기의 배열 두개로 분할한다 정복(Conquer) = 이 두 개의 배열을 정렬한다. (크기가 아직 크면 순환 호출로 다시 분할) 결합(Combine) = 배열들을 다시 합치면서 원래의 정렬된 배열로 만든다. 코드 //머지소트 c++ 코드 void MergeSort(int sort[], int data[], int first, int last) { int mid; //1개 남았을때는 멈추게 if (f..