![]() |
|||
| HSG |
|
Rekursive Berechnungen mit hohem Aufwand - www.inf-schule.de
Memoization - das Prinzip
def f(x):
return x*x
fmemo = {}
def fm(x):
if not x in fmemo:
fmemo[x] = x*x
return fmemo[x]
Tests
>>> f(5)
25
>>> fm(5)
25
>>> fm(3)
9
>>> fm(7)
49
>>> fmemo
{3: 9, 5: 25, 7: 49}
>>> fm(3.1)
9.610000000000001
>>> fm(-0.0071)
5.041000000000001e-05
>>> fmemo
{3.1: 9.610000000000001, 3: 9, -0.0071: 5.041000000000001e-05, 5: 25, 7: 49}
Vergleiche Lösungen mit und ohne Memoizing durch Zeitmessungen.