#quote from 'introduction to computation and programming using python,
# revised edition, MIT'
def fastFib(n, memo = {}):
"""Assumes n is an int >= 0, memo used only by recursive calls
Returns Fibonacci of n"""
if n == 0 or n == 1:
return 1
try:
return memo[n]
except KeyError:
result = fastFib(n-1, memo) + fastFib(n-2, memo)
memo[n] = result
return result
memorization(overlapping subproblems) demo
最新推荐文章于 2021-04-26 21:09:35 发布