-
안녕하세요.
공상 개발입니다.
오늘은 분할 정복 알고리즘의 일종인 병합 정렬에 대해 알아보는 시간을 가지겠습니다.
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 댓글