JS 알고리즘 9일차 - 합병 정렬


JS 알고리즘 9일차 - 합병 정렬

정의 합병과 정렬이라는 두 가지 조합으로 이루어져 있다. 0개 요소, 1개 요소 배열이 이미 정렬되어 있다는 점을 활용한다. 배열을 더 작은 배열로 나누는 방식이다. 더 큰 배열을 나누고 작은 배열을 정렬하는 방식 배열 합병 정렬된 두 배열 합병을 담당할 함수를 먼저 구현한다. 정렬된 두 배열이 주어지면 이 헬퍼 함수는 마찬가지로 정렬된 새 배열을 만든다. O(n+m) 시간과 O(n+m) 공간으로 실행된다. n과 m 이란, 함수에 첫 번째 배열과 두 번째 배열의 크기를 말한다. 의사 코드 빈 배열을 만든다. 입력 두 개를 취하는 함수를 정의하며 마지막에 반환할 빈 배열을 만든다. 각 입력 배열에서 가장 작은 값부터 시작한다. 카운터가 두 개 존재한다. (i, j) while 루프를 사용하면 된다. 아직 살펴보지 않은 값이 있다면 i와 j가 각각의 배열 끝에 도달하지 않았다면, 첫 번째 배열의 값으로 첫 번째 항목을 취한 다음 두 번째 배열의 첫 번째 항목 값과 비교한다. 첫 번째 항...


#JavaScript #배열합병 #알고리즘 #정렬알고리즘 #합병정렬

원문링크 : JS 알고리즘 9일차 - 합병 정렬