forked from menault/2026_TD1_DEV51_Qualite_Algo
Calculer la moyenne une seule fois dans ecart_type_longueur
longueur_moyenne était rappelée à chaque tour de boucle : n appels qui parcourent chacun toute la table, soit 34,4 millions d'appels à longueur pour 5 866 mots (O(n²) → O(n)). Temps : 7,6 s → 5,6 s. Empreinte inchangée (1d53de903efd2b7c). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+2
-1
@@ -318,9 +318,10 @@ double longueur_moyenne(const Entree *table, int n)
|
||||
|
||||
double ecart_type_longueur(const Entree *table, int n)
|
||||
{
|
||||
double moyenne = longueur_moyenne(table, n); /* calculée une seule fois */
|
||||
double somme = 0.0;
|
||||
for (int i = 0; i < n; i++) {
|
||||
double ecart = longueur(table[i].mot) - longueur_moyenne(table, n);
|
||||
double ecart = longueur(table[i].mot) - moyenne;
|
||||
somme += ecart * ecart;
|
||||
}
|
||||
return somme / n; /* variance ; la racine est prise dans main */
|
||||
|
||||
Reference in New Issue
Block a user