1.Top-down 과 Bottom-up
DP를 푸는 방식에는 두 가지가 있다.
Top-Down : 큰 부분부터 작은 부분으로 쪼개지며 답을 찾는다(재귀 사용)
Bottom-up : 작은 부분부터 큰 부분까지 모두 답을 찾는다. 즉 큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용한다.
2. Top-down 장점
모든 부분을 다 구하지 않아도 될 때 시간복잡도 면에서 유리하다. Bottom-up 방식은 문제 해결에 필요하지 않은 부분까지 모두 구하기 때문에 메모리나 시간상 불리하다.
그 예시로 백준 무한 수열이 있다.
3. Bottom-up 장점
모든 부분을 다 구해야 할 때는 Bottom-up이 유리하다. Top-down은 재귀함수를 구현하기 때문에 stack이 쌓여 불필요한 메모리가 낭비될 수 있다.
그 예시로 피보나치 수 4 가 있다.
참고자료
'CS > 알고리즘' 카테고리의 다른 글
유클리드 호제법 증명 / 최대공약수 알고리즘 (0) | 2025.01.29 |
---|