Algorithms

Dynamic Programming

술임 2023. 3. 7. 22:51

다이나믹 프로그래밍 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