강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

뎡2님의 프로필 이미지
뎡2

작성한 질문수

알고리즘 기본 강의 질문이요

작성

·

20

0

mergesort 강의에서 처음 더미 배열 넘길 때 mergesort 함수만 재귀호출 했는데 더미배열이 minindex 기준으로 서로 정렬이 어떻게 되는건가요?

강의 5분에서 6분 사이에 있는 내용입니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
뎡2님, mergesort의 작동 방식에 대해 궁금하신 점이 있군요. 재귀적으로 mergesort 함수를 호출할 때, 더미 배열이 minindex 기준으로 정렬이 되는 원리는 다음과 같습니다.

mergesort 알고리즘은 배열을 계속해서 반으로 나누어 각각의 부분 배열을 정렬한 후, 다시 합쳐서 전체 배열을 정렬하는 분할 정복 방법을 사용합니다. 재귀 호출을 통해 배열을 나누는데, 이때 더미 배열은 각 단계에서 정렬된 부분 배열을 합칠 때 사용됩니다.

  1. 분할(Divide): 배열을 절반으로 나누어 각 부분 배열에 대해 mergesort를 재귀적으로 호출합니다.
  2. 정복(Conquer): 분할이 끝난 부분 배열을 더미 배열을 사용하여 정렬합니다. 이 과정에서 각 부분 배열이 minindex 기준으로 정렬됩니다. 두 개의 부분 배열을 비교하면서 임시 배열에 작은 것부터 순서대로 넣는 방식으로 이루어집니다.
  3. 병합(Merge): 정렬된 배열을 더미 배열로 병합한 후 원본 배열에 다시 복사합니다.

강의에서 설명하신 시간대(5분에서 6분 사이)에서 mergesort의 이러한 부분이 다뤄질 것으로 예상됩니다. 더 구체적인 내용은 강의를 참고하시면 도움이 될 것입니다.

혹시 더 궁금한 점이 있으시면 강의의 ‘수강 전 문의 게시판’을 통해 지식공유자님께 직접 질문을 남기실 수 있습니다. 추가적인 답변이 필요하시다면 링크를 통해 문의해 주세요: 원하는 답변을 찾지 못하셨나요?

감사합니다.

뎡2님의 프로필 이미지
뎡2
질문자

그러니까 제 말은 그 강의시간대에는 mergesort라는 함수 밖에 없는데 인자로 넘어오는 배열값이 어떻게 분열만 하는데 정렬이 되냐는 말입니다. 이거 AI가 답변하는건가요?

뎡2님의 프로필 이미지
뎡2

작성한 질문수

질문하기