Auswahl des optimalen Algorithmus in PHP
Manchmal liegt das Problem im Code daran, dass nicht die optimalste Lösung für die Aufgabe gewählt wurde.
Nehmen wir zum Beispiel an, wir stehen vor der Aufgabe,
die Summe der ganzen Zahlen von 1 bis 1000000 zu finden.
Lösen wir die gestellte Aufgabe:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Was ist also falsch? Die Sache ist die, dass für die Lösung der gestellten Aufgabe eine mathematische Lösung existiert.
Diese Lösung benötigt praktisch keine Ressourcen! Programmieren wir sie:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Die Moral: Bevor Sie eine ressourcenintensive Aufgabe lösen, prüfen Sie unbedingt, ob es für ihre Lösung eine fertige mathematische Formel oder einen fertigen mathematischen Ansatz gibt.
Finden Sie die Anzahl der Zahlen, die ohne Rest
durch 5 teilbar sind, im Bereich von 1 bis
1000.
Finden Sie die Anzahl der Ziffern, die benötigt werden,
um alle Zahlen von 1 bis 1000000 aufzuschreiben.
Finden Sie alle Primzahlen im Bereich von
1 bis 10000. Aufgabe mit einem Sternchen,
muss nicht gelöst werden.