Optimalaus algoritmo pasirinkimas JavaScript
Kartais kodo problema gali būti susijusi su tuo, kad pasirinktas ne pats optimaliausias uždavinio sprendimas.
Tarkime, pavyzdžiui, kad prieš mus yra uždavinys
rasti sveikųjų skaičių sumą nuo 1 iki 1000000.
Išspręskime pateiktą uždavinį:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Kas negerai? Esmė ta, kad šiam uždaviniui išspręsti egzistuoja matematinis sprendimas.
Šis sprendimas praktiškai nereikalauja resursų! Užprogramuokime jį:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Moralas: prieš sprendžiant resursų reikalaujantį uždavinį būtinai patikrinkite, ar nėra jo sprendimui jau paruoštos matematinės formulės ar paruošto matematinio požiūrio.
Raskite skaičių kiekį, kurie dalijasi be liekanos
iš 5, intervale nuo 1 iki
1000.
Raskite skaitmenų kiekį, kurio prireiks,
kad užrašyti visus skaičius nuo 1 iki 1000000.