En fait, tu commences par calculer fib(999), puis pour calculer fib(999) tu calcules fib(998), etc, etc -> tu ne descends qu'un fois pour calculer chaque valeur de fib jusqu'à 1 et ensuite tout ce que tu calcules est déjà stocké dans la table de hachage => gain de temps là où normalement tu devrais calculer chaque valeur à chaque fois en remontant.
Et justement, je n'ai pas vraiment compris l'intérêt. N'est-ce pas beaucoup de bruit pour pas grand chose ?
let fibo n =
____let cache = Array.make (n+1) 1 in
____for i = 2 to n do
________cache.(i) <- cache.(i - 1) + cache.(i - 2);
____done;
____cache.(n)
in
print_int (fibo (read_int()));
(vous pourriez m'expliquer comment on met du code indenté ? Avec ou sans blockquotes ça foire à la prévisualsation)
[^] # Re: Comment casser le mythe de rapidité de Fibonacci :-)
Posté par gasche . En réponse à la dépêche Erlang/OTP R11B supporte les architectures multiprocesseur. Évalué à 0.
Et justement, je n'ai pas vraiment compris l'intérêt. N'est-ce pas beaucoup de bruit pour pas grand chose ?
(vous pourriez m'expliquer comment on met du code indenté ? Avec ou sans blockquotes ça foire à la prévisualsation)