메모이제이션 2

메모이제이션(Memoization): 중복 연산을 줄이는 최적화 기법

🔹 메모이제이션이란?1. 메모이제이션(Memoization)의 정의메모이제이션(Memoization)은 이미 계산된 결과를 저장하고, 동일한 계산이 필요할 때 저장된 값을 재사용하여 중복 연산을 방지하는 최적화 기법입니다.✅ 메모이제이션의 주요 특징:중복 계산을 줄여 성능을 향상동적 계획법(DP)과 함께 사용되는 경우가 많음시간 복잡도를 줄여 더 빠른 연산 가능재귀 함수와 함께 사용하면 효과적📌 메모이제이션을 사용하면 연산 속도를 비약적으로 개선할 수 있습니다.🔹 메모이제이션의 동작 과정함수를 호출하면 먼저 저장된 결과가 있는지 확인저장된 값이 있으면 그대로 반환 (중복 연산 방지)저장된 값이 없으면 연산을 수행하고 결과를 저장필요할 때 저장된 값을 재사용하여 성능 최적화✔️ 메모이제이션을 활용한 ..

IT이야기 2025.03.02

동적 계획법(Dynamic Programming, DP): 최적화된 문제 해결 기법

🔹 동적 계획법이란?1. 동적 계획법(Dynamic Programming, DP)의 정의동적 계획법(Dynamic Programming, DP)은 복잡한 문제를 작은 부분 문제로 나누고, 각 부분 문제의 해를 저장하여 반복 연산을 줄여 최적의 해결책을 구하는 기법입니다. 주로 중복 계산을 피하고 성능을 향상시키기 위해 사용됩니다.✅ 동적 계획법의 주요 특징:부분 문제(Optimal Substructure): 문제를 작은 문제로 분할하여 해결 가능중복되는 부분 문제(Overlapping Subproblems): 같은 하위 문제를 여러 번 해결해야 함메모이제이션(Memoization) 또는 테이블 저장 방식(Tabulation)으로 최적화 가능탑다운(Top-Down)과 바텀업(Bottom-Up) 접근 방식..

IT이야기 2025.03.02