Noob trap
Un piège classique dans lequel tombent les débutants.
On considère le code suivant :
def f(n):
if n < 2:
return 1
return f(n // 2) * f(n // 4)
Quelle est l'équation de récurrence de la complexité :
- $C(n) = C(n/2) * C(n/4)$
- $C(n) = \mathcal{O}(1) + C(n/2) * C(n/4)$
- $C(n) = \mathcal{O}(1) + C(n/2) + C(n/4)$
Déduire de la bonne réponse que la complexité de l'exécution de la fonction est linéaire.