동적계획법 (Dynamic Programming)
1. 정의 - 복잡한 문제를 여러 개의 작은 부분 문제(Sub-Problem)로 나누어 해결하는 방법 - 상향식 접근법으로, 가장 최하위 해답을 구한 후, 이를 저장하고, 해당 결과값을 이용해서 상위 문제를 풀어가는 방식 2. Top-down - 프로그램 실행 시 이전에 계산한 값을 저장하여, 다시 계산하지 않도록 하여 전체 실행 속도를 빠르게 하는 기술 - 여러 개의 하위 문제(sub-problem) 나눴을시에 하위 문제를 결합하여 최종적으로 최적해를 구한다 - 같은 하위 문제를 가지고 있는 경우가 존재한다. 그 최적해를 저장해서 사용하는 경우 하위 문제수가 기하급수적으로 증가할 때 유용하다. 위 방법을 memoization 이라고 한다. 3. bottom-up - 하위 문제들로 상위 문제의 최적해를 ..
Algorithm/Algorithm Practice
2020. 1. 30. 20:57
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200502
- 20200403
- 20200424
- 20200804
- 20201204
- 20200317
- 20200420
- 20200330
- 20200406
- 20200510
- 20200504
- chapter7
- likelion
- 20200429
- 20200428
- 20200423
- 20200427
- 20200503
- 20200319
- 백준
- 20200512
- 20200622
- 20200421
- 20200425
- 생활코딩리눅스
- 20200624
- 20200415
- chapter8
- 20200413
- 20200417
- Total
- Today
- Yesterday