[Algorithm] 28강 : 다이나믹 프로그래밍의 정의와 구현

1. 다이나믹 프로그래밍 1-1. 다이나믹 프로그래밍(동적 계획법) 이란? 다이나믹 프로그래밍은 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상 시키는 방법 이미 계산된 결과는 별도의 메모리 영역에 저장하여 아시 계산하지 않도론 한다. 두 가지 방식으로 구성 ( 탑다운 / 보텀업 ) ※동적(Dynamic) 할당 이란? - 프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법 1-2.다이나믹 프로그래밍의 조건 1.최적 부분구조 (Optimal Substructure) 큰 문제를 작은 문제로 나눌수 있으며 작은 문제의 답을 모아서 큰 문제를 해결할 수 있다. 2.중복되는 문제(Overlapping Subproblem) 동일한 작은 문제를 반복적으로 해결 2. 피보나치 수열(일반 재귀함..