알고리즘

Memoization 개념, 재귀

hapBday 2024. 4. 26. 19:51
728x90

Memoization 이란

동일한 계산을  반복적으로 해야할 때, 이전에 계산한 값을 메모리에 저장하여 중복적인 계산을 제거하여 전체적인 실행 속도를 빠르게 해주는 기법으로 동적 계획법(DP, Dynamic Programming)의 핵심이 되는 기술.

 

피보나치수열로 알아보는 재귀과 memoization

https://mystudylog.tistory.com/72 

 

[파이썬] 10870 피보나치 수 5

처음에 재귀함수로 풀이 하지만 재귀함수로 하면 겹치는 계산이 존재해서 다른 풀이도 찾아보았다. import sys def fibo(n): if n == 0: return 0 elif n

mystudylog.tistory.com

def fibo_memo(n):
	global memo
    if n >= len(memo):
    	memo.append(fibo(n-1) + fibo(n-2))
    return memo[n]
memo = [0, 1]

 


참고자료

728x90