[알고리즘] 분할정복, 동적 프로그래밍 조사

 1  [알고리즘] 분할정복, 동적 프로그래밍 조사-1
 2  [알고리즘] 분할정복, 동적 프로그래밍 조사-2
 3  [알고리즘] 분할정복, 동적 프로그래밍 조사-3
 4  [알고리즘] 분할정복, 동적 프로그래밍 조사-4
 5  [알고리즘] 분할정복, 동적 프로그래밍 조사-5
 6  [알고리즘] 분할정복, 동적 프로그래밍 조사-6
 7  [알고리즘] 분할정복, 동적 프로그래밍 조사-7
 8  [알고리즘] 분할정복, 동적 프로그래밍 조사-8
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[알고리즘] 분할정복, 동적 프로그래밍 조사에 대한 자료입니다.
본문내용
※Divide and conquer(분할정복)
분할정복법은 주어진 문제를 작은 사례로 나누어(Divide) 각각의 작은 문제들을 해결(Conquer)하는 방법이다.
1805년 12월 2일 아우스터리츠 전투에서 프랑스의 황제 나폴레옹은 숫자면에서 우세했던 연합군을 물리치기 위해서 나폴레옹은 연합군의 중앙으로 쳐들어가 그들의 병력을 둘로 갈라 놓았고, 둘로 나누어진 병력은 개별적으로는 나폴레옹의 군대보다 숫자가 적었기 때문에 전투는 나폴레옹의 승리로 끝나게 되었다.
분할정복법은 위와 같은 사례를 프로그램에 이용한 것이다. 문제의 사례를 2개 이상의 더 작은 사례로 나눈다. 이 작은 사례는 주로 원래 문제에서 따온다. 나눈 작은 사례의 해답을 바로 얻을 수 있으면 해를 구하고 아니면 더 작은 사례로 나눈다. 이처럼 해를 구할 수 있을 만큼 충분히 더 작은 사례로 나누어 해결하는 방법이다. 또한 분할정복법은 하향식(top-down)접근 방법이다. 즉, 문제의 최상위 사례의 해답은 아래로 내려가면서 작은 사례에 대한 해답을 구함으로써 구한다. 그렇기 때문에 분할정복법을 해결할때는 재귀적 방법이 많이 쓰인다.