Fibonacci de 0 et 1 : les cas de base

fib(0) et fib(1) ne demandent qu'un seul appel : ce sont les cas de base de la récursion.

Valeur de F(1)
1
Appels de la version récursive naïve
1
Appels avec mémorisation
1
Additions de la version itérative
0
Durée de la version naïve
20 ns

Le cas en détail

Toute fonction récursive a besoin de cas de base pour s'arrêter. Pour Fibonacci, ce sont les rangs 0 et 1, qui retournent directement leur valeur. Sans eux, la fonction s'appellerait indéfiniment.

À retenir : Quand vous écrivez une fonction récursive, écrivez d'abord les cas de base, puis l'appel récursif.

L'exemple chiffré

Valeurs utilisées dans ce cas (des exemples, pas des mesures) :

  • Rang n (0 à 200) : 1
  • Appels de fonction par seconde : 50000000
Valeur de F(1)
1
Appels de la version récursive naïve
1
Appels avec mémorisation
1
Additions de la version itérative
0
Durée de la version naïve
20 ns

Modifiez les champs ci-dessus pour adapter le calcul à votre situation : le résultat se met à jour tout de suite.

Comment ça se calcule

Avec fib(0) = 0 et fib(1) = 1, le nombre d'appels C(n) vérifie C(n) = 1 + C(n-1) + C(n-2), ce qui donne C(n) = 2 F(n+1) - 1. Avec mémorisation, chaque valeur n'est calculée qu'une fois : 2n - 1 appels. La version itérative fait n - 1 additions.

Les résultats sont fournis à titre indicatif, sans valeur de conseil juridique, fiscal ou financier.

Pour aller plus loin