merge
-
합병 정렬개발 지식/알고리즘 2020. 7. 9. 01:26
JAVA로 작성되었습니다. 합병 정렬 분할정복을 이용한 정렬방법 배열을 한개의 조각이 될 때까지 쪼개고 두개 (1, 1)를 서로 비교, 4개(2, 2)를 서로 비교, 8개(4, 4)를 서로 비교 하는 방법 비교한 결과를 저장하기 위해 임시의 배열이 추가로 필요하다. 인자로 들어온 left가 right보다 작은지 검증한다 (같다면 숫자가 하나이기에) 중간값을 결정한다. ((오른쪽 값 - 왼쪽 값) / 2 + left) 중간값과 왼쪽 배열, 중간값 오른쪽 배열을 다시 분할하는 재귀함수를 호출한다. left + 1 = right 가 될때까지 분할을 수행한다. (분할해야 하는 배열의 요소가 2개) (3개인 경우 2개와 1개로 쪼개지고 왼쪽의 2개만 쪼개져 서로 비교를 진행하고 다시 돌아와 2개와 1개의 비교를 ..