soit f, une fonction,
memoize(f):
  renvoie memo_f(arguments):
    si f déjà_appelée_avec arguments,
       renvoie cette valeur
    sinon calcule f(arguments), 
       mémorise le résultat, renvoie ce résultat

Voyons maintenant comment implémenter la memoization en Javascript.

Ci-contre l'algorithme de la memoization en pseudo code.

L'appel à cette fonction se fera via

f = memoize(f)

Ce qui signifie que nous allons remplacer f par sa version "mémoisée" memo_f. Il nous faudra donc conserver le code original de f quelque part afin de pouvoir l'appeler dans memo_f.

JDN Développeur Envoyer Imprimer Haut de page
Votre avis sur cette publicité

RECHERCHE