다이나믹 프로그래밍 Dynamic programming, 동적 계획법
조건)
1. 큰 문제를 작은 문제로 나눌 수 있음
2. 작은 문제에서 구한 정답은 그걸 포함하는 큰 문제에서도 동일
-> 큰 문제를 작게 나눠서 같은 문제는 한 번씩만 풀어서 문제를 효율적으로 해결하는 알고리즘
메모이제이션 Memoization
한 번 구한 결과를 메모리 공간에 메모해두고 같은 식을 다시 호출하면 메모한 결과를 그대로 가져옴
탑다운 방식 Top-down
재귀 함수를 이용해서 다이내믹 프로그래밍 소스코드를 작성하는 방법
바텀업 방식 Bottom-up
반복문을 이용해서 소스코드를 작성하는 방식
'Algorithms' 카테고리의 다른 글
Graph (0) | 2023.03.08 |
---|---|
Shortest Path (0) | 2023.03.08 |
Binary Search (0) | 2023.03.07 |
Sorting (0) | 2023.03.06 |
Depth-First Search (0) | 2023.03.05 |