Skip to content

Latest commit

 

History

History

다이나믹 프로그래밍

  • 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법
  • 이미 계산된 결과는 별도의 메모리 영역에 저장하여 다시 계산하지 않는다.
  • 탑다운과 바텀업으로 구분한다.

다이나믹 프로그래밍은 다음의 조건을 만족할 때 사용할 수 있다.

  1. 최적 부분 구조
    1. 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제를 해결 할 수 있다.
  2. 중복되는 부분 문제
    1. 동일한 작은 문제를 반복적으로 해결해야 한다.