병합 정렬과 동적 프로그래밍에 대해서 알아보도록 하자.우선 아래 자료를 보면 직관적으로 이해가 된다.
병합 정렬은 3가지 순서로 이루어진다.
1.분할:전체 데이터를 반으로 나누어질때까지 분할한다.단 1개가 남게된다면 분할은 더 이상 진행이 불가능하다.
2.정복:데이터가 1개가 남게 된다면 정렬이 필요없다.분할된 2개의 데이터를 정렬
3.병합:정렬된 데이터들을 계속해서 병합해준다.
결국 동적 프로그래밍이나 분할 정복이나 두 알고리즘은 주어진 문제를 작게 쪼개서 해결한다는 접근법을 가진다.