Fehler bei der Berechnung des Durchschnitts
Betrachten wir einen Fehler im Zusammenhang mit der Berechnung des arithmetischen Mittels der Elemente eines Arrays. Nehmen wir zum Beispiel an, dass uns das folgende Array gegeben ist:
let arr = [1, 2, 3, 4, 5];
Um den Durchschnitt der Elemente zu finden, muss man ihre Summe berechnen und diese durch die Anzahl teilen. Ein gewisser Programmierer hat diese Aufgabe bereits auf folgende Weise gelöst:
let avg = 0;
for (let elem of arr) {
avg += elem / arr.length;
}
console.log(avg);
Lassen Sie uns die Probleme dieser Lösung betrachten. Technisch gesehen funktioniert der Code korrekt und liefert das richtige Ergebnis. Tatsache ist, dass es mathematisch korrekt ist, sowohl die gesamte Summe durch die Anzahl zu teilen, als auch jeden Summanden einzeln durch die Anzahl zu teilen.
Es entsteht jedoch ein anderes Problem. Tatsache ist, dass wir die Division so oft ausführen werden, wie Elemente in unserem Array vorhanden sind. Es stellt sich heraus, dass wir eine große Anzahl überflüssiger Operationen durchführen, denn die Division hätten wir am Ende durchführen können - nur ein einziges Mal, indem wir die gesamte gefundene Summe geteilt haben.
Lassen Sie uns unseren Code optimieren:
let sum = 0;
for (let elem of arr) {
sum += elem;
}
let avg = sum / arr.length;
console.log(avg);