Optimaalse algoritmi valimine PHP-s
Mõnikord võib koodi probleem olla seotud sellega, et ülesande lahendamiseks pole valitud kõige optimaalsemat lahendust.
Oletame, et meie ees on ülesanne
leida täisarvude summa 1-st 1000000-ni.
Lahendame pandud ülesande:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Mis siis viga on? Asi on selles, et selle ülesande lahendamiseks on olemas matemaatiline lahendus.
See lahendus ei nõua praktiliselt ressursse! Programmeerime selle:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Moraal: enne ressursimahuka ülesande lahendamist kontrollige kindlasti, kas selle lahendamiseks ei ole valmis matemaatilist valemit või valmis matemaatilist lähenemist.
Leidke arvude hulk, mis jaguvad ilma jäägita
5-ga, vahemikus 1 kuni
1000.
Leidke numbrite arv, mida läheb vaja
kõikide arvude kirjutamiseks 1-st 1000000-ni.
Leidke kõik algarvud vahemikus
1 kuni 10000. Tähega ülesanne,
ei pea lahendama.