
분할정복(Divide and Conquer)
·
💻 알고리즘/이론
분할정복 -주어진 문제를 둘 이상의 부분 문제로 나누어서 푸는 방법 -비슷한 크기로 문제를 나눔 -재귀호출 사용 분할정복 과정 Divide :부분 문제로 나눌 수 있는 경우 2개 이상의 문제로 나눈다. Conquer : 더 이상 나눌 수 없는 경우 현재 문제를 정복한다. Combine : 해결된 문제들을 병합하여 기존 문제를 해결한다. 분할 횟수 입력의 크기가 n이고 총 분할한 횟수가 k라면. -1번 분할 후 입력 크기 : n/2 -2번 분할 후 입력 크기 : n/2^2 ... -k번 분할 후 입력 크기 : n/2^k --> n/2^k 가 1 이라면 더 이상 분할 불가 분할 횟수 분할정복의 사용 1. 합병정렬(Merge Sort) 입력이 2개의 부분문제로 크기가 반씩 줄어드는 분할 정복 알고리즘 -n개의..