분할 정복 (Devide and Conquer)
큰 문제를 작은 부분 문제로 나누어 해결하는 방법
(합병 정렬, 퀵 정렬, 이진 검색, 등...)
분할 정복 과정은 다음과 같다.
① 문제를 하나 이상의 작은 부분들로 분할
② 부분들을 각각 정복
③ 부분들의 해답을 통합하여 원래 문제의 답을 구함
분할 정복은 문제를 나누어 처리하며 어려운 문제를 해결할 수 있고, 병렬처리를 하는데 이점이 있다는 장점이 있으며,
단점으로는 동일한 코드를 재귀적으로 호출하면서 진행하는 방식이기에 메모리를 많이 사용한다.