7 of 17 menu

Virhe taulukon keskiarvon löytämisessä

Tarkastellaan virhettä, joka liittyy taulukon elementtien aritmeettisen keskiarvon löytämiseen. Olkoon meillä esimerkiksi tällainen taulukko:

let arr = [1, 2, 3, 4, 5];

Löytääksesi elementtien keskiarvon, sinun on löydettävä niiden summa ja jaettava se määrällä. Eräs ohjelmoija on jo ratkaissut tämän tehtävän seuraavalla tavalla:

let avg = 0; for (let elem of arr) { avg += elem / arr.length; } console.log(avg);

Tarkastellaan tämän ratkaisun ongelmia. Teknisesti koodi toimii oikein ja antaa oikean vastauksen. Asia on niin, että matemaattisesti on oikein jakaa koko summa määrällä, kuten myös jakaa jokainen termi määrällä.

Kuitenkin syntyy toinen ongelma. Asia on siinä, että suoritamme jaon niin monta kertaa kuin taulukossamme on elementtejä. Ja käy ilmi, että teemme valtavan määrän ylimääräisiä operaatioita, sillä jaon olisi voinut suorittaa lopussa - kerran, jakamalla koko löydetyn summan.

Optimoidaan koodimme:

let sum = 0; for (let elem of arr) { sum += elem; } let avg = sum / arr.length; console.log(avg);
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää