Bonjour,
Je me posais la question suivante: si l'on considère trois fonctions f,g,h, où g et h effectuent respectivement 1 et 2 opérations (temps constant), et f est la fonction suivante:
let f machin=
........
for i=1 to n do
g machin;
h machin;
done;
.............
la fonction f appelle donc n fois la fonction g et h; j'aurais donc tendance à penser que l'ordre de grandeur (c'est-à-dire un équivalent du temps mis par la fonction) de f est n*(2+1)=3n. Pourtant, j'ai vu à plusieurs reprises dans des corrections que l'ordre de grandeur de la fonction f était 2n: la règle semblant être de considérer la fonction appelée la plus coûteuse (ici h) et de multiplier par n. Pouvez-vous m'expliquer ce mystère? Merci d'avance!
Partager