[[http://en.wikipedia.org/wiki/Dynamic_programming|DynamicProgramming]] 是很重要演算法技巧。在 Python 我們有很高明的 decorator 可以應用。 {{{#!python def dynamic(func): cache = {} def wrapper(*args, **kws): try: return cache[(args, kws)] except KeyError: cache[args] = func(*args, **kws) pass return cache[(args, kws)] return wrapper }}} CategoryCookbook