-
[Algorithm] 분할 정복 알고리즘 (Divide and Conquer)Algorithm/Algorithm Theory 2022. 5. 9. 21:22728x90
분할 정복
크고 방대한 문제를 작은 문제 단위로 나눈 다음 그것을 다시 합쳐서 해결하는 알고리즘이다.
이 알고리즘은 3가지 단계를 가진다.
- Divide : 문제를 더이상 분할할 수 없을 때까지 동일한 유형의 여러 하위 문제로 나눈다.
- Conquer : 작은 단위의 문제를 해결한다.
- Combine : 해결한 문제의 결과를 통합하여 답을 얻는다.
대표적인 예로 quick sort나 병합정렬이 있다.
병합 정렬
https://miraekwak.tistory.com/73?category=922962
[Algorithm] 정렬 알고리즘 & Python3 코드 & 시간복잡도 정리
1. 병합 정렬 분할 정복 방식을 이용한 알고리즘으로 말 그대로 배열을 분할 후 정렬하면서 병합하는 방식이다. 배열의 원소를 절반씩 잘라 계속해서 나눈 후 => 분할 배열의 원소의 개수가 1개가
miraekwak.tistory.com
728x90'Algorithm > Algorithm Theory' 카테고리의 다른 글
[Algorithm] 동적계획법(Dynamic Programming) (0) 2022.04.07 [Algorithm] 백트랙킹(BackTracking) (0) 2022.03.31 [Algorithm] 정렬 알고리즘 & Python3 코드 & 시간복잡도 정리 (0) 2022.03.26