차곡차곡 성 쌓기
article thumbnail
합병 정렬 (Merge Sort) - Java
CS/알고리즘 2023. 8. 19. 00:36

합병 정렬 개념 리스트를 두 개의 균등한 크기로 분할하고 분할된 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하기를 반복하면서 전체를 정렬한다. 분할 정복 기법 알고리즘 중 하나이다. 분할 정복 기법 (divide and conquer) 문제를 작은 2개의 문제로 분리하고 각 문제를 해결 후, 결과를 모아서 원래의 문제를 해결하는 전략 구체적인 알고리즘 합병 정렬은 다음 3가지 단계를 반복하며 정렬을 한다. 분할(Divide) : 같은 크기의 2개의 부분 배열로 분할한다. 정복(Conquer) : 부분 배열을 정렬한다. 부분 배열의 크기가 충분히 작지 않으면 충분히 작아질 때까지 분할을 반복한다. 결합(Combine): 정렬된 부분 배열들을 하나의 배열로 통합한다. 부분 리스트의 크기가 1개가..