-
안녕하세요.
공상 개발입니다.
오늘은 분할 정복 알고리즘의 일종인 병합 정렬에 대해 알아보는 시간을 가지겠습니다.
1. 병합 정렬(merge sort)
2. 병합 정렬 알고리즘 실행 과정
# 병합 정렬(merge sort) 병합 정렬은 모든 숫자를 다 나눈 다음에 병합하는 방식으로 정렬을 진행합니다.
병합 정렬 로직
1. 분할 과정과 정복 과정으로 나누어진다.
2. 모든 숫자를 독립적으로 분할한다.
3. 크기를 비교해서 하나의 그룹으로 병합한다.아래의 이미지와 같이 모든 숫자가 독립이 될 때까지 분할합니다.
분할하는 전체적인 과정을 아래의 이미지를 통해 한번 보겠습니다.
병합 과정은 예비 그릇에 옮겼다가 본래 배열로 옮겨주면 됩니다.
소스 코드
수정 : line 11 -> 병합 과정
출력 값
# 병합 정렬 알고리즘 실행 과정 배열 a [] ={100,34,189,56,150,140,9,123}에 대하여 병합 정렬을 사용하여 알고리즘 정렬이 실행되는 과정입니다.
이렇게 표로 그려도 되지만,
트리로 그려보는 편이 가장 편하다고 생각합니다.
작성된 내용 중 잘못된 정보나 접근이 있을 시, www.instagram.com/hong_.98/을 통해 말씀해 주시기 바랍니다.
좋은 하루 보내세요.
'Computer Science > Algorithm' 카테고리의 다른 글
6. 동적 프로그래밍(Dynamic Programming) (0) 2021.05.06 5. 퀵 정렬(quick sort) (0) 2021.04.10 3. 분할 정복(divide-and-conquer) 설계 전략 (0) 2021.03.21 2. 선택 정렬(Selection Sort), 버블 정렬(Bubble Sort), 삽입 정렬(Insertion Sorting) (0) 2021.03.16 1. 알고리즘의 개요 (0) 2021.03.14 댓글