개발/Algorithm

분할정복(Divide and Conquer) - 1. 개념

huiyu 2014. 6. 25. 06:28

 분할정복이란?

문제를 더 이상 나눌 수 없을 때까지 나누고, 이렇게 나누어진 문제들을 각각 풂으로써 결국 전체 문제의 답을 얻는 알고리즘


 분할 정복의 과정

 1. 분할(Divide) : 문제가 분할이 가능한 경우, 2개 이상의 하위 문제로 나눕니다.

 2. 정복(Conquer) : 하위 문제가 여전히 분할이 가능한 상태라면 하위 집합에 대해 1-을 수행합니다. 그렇지 않다면 하위 문제를 푼다.

 3. 결합(Combine) : 2과정에서 정복된 답을 취한다.


 분할정복법은 어떤 것에 적용하는가?

 1. 문제를 작게 쪼개는 것이 가능한가?(Divide)

 2. 쪼개진 문제들을 조합하여 문제의 답을 효율적으로 구할수 있는지(Merge & Conquer)



728x90
반응형

'개발 > Algorithm' 카테고리의 다른 글

Quick sort source  (0) 2016.01.17
메모_  (0) 2015.04.08
알고리즘 메모  (0) 2015.03.31
동적 계획법(Dynamic Programming)_1.개념  (0) 2015.03.26
분할정복(Divide and Conquer) - 2. 병합정렬  (0) 2014.06.25