Merge sort1 [Algorithm] 병합 정렬(Merge Sort) 정의 퀵정렬과 마찬가지로 분할 정복(Divide and Conquer)법을 사용하여 정렬하는 알고리즘 분할정복(Divice and Conquer) : 문제를 작은 2개의 문제로 분리하고 각각 해결한 다음 결과를 모아서 다시 원래의 문제를 해결하는 방법으로 대게 순환호출을 이용하여 구현한다 분할 시 항상 균등한 크기로 분할한다는 점에서 퀵정렬과 차이가 있다 과정 배열의 길이가 1이상이면 절반으로 잘라 두 부분배열로 분할한다 각 부분배열의 원소들을 서로 비교하며 정렬한다 두 부분배열을 다시 하나의 배열로 합병한다 위 과정을 반복한다 Python 코드(오름차순) temp = [0]*10 def sort(arr, a, mid, b): global temp x = a y = mid+1 idx = a #대소관계를 .. 2021. 1. 25. 이전 1 다음