Mis on algoritm?

Avastage, kuidas algoritmid maailma juhivad

Algoritmiks on juhiste kogum. Määratlus on tõesti nii lihtne. Algoritm võib olla sama lihtne kui antud juhised:

  1. Mine tänavale
  2. Võtke esimene paremal
  3. Leidke teine ​​maja vasakul
  4. Koputage uksele ja
  5. Paku kätte.

Kuigi algoritmi määratlus on lihtne, võib tegelik tähendus ja selle mõju meie elule olla üsna keerukas.

Algoritmi näide

Meie igapäevaelus kasutatava algoritmi tavapärane näide on retsept. See juhiste komplekt annab meile kõik vajalikud koostisosad ja juhised selle kohta, mida koos nende koostisosadega teha. Kõlab lihtsalt, eks?

Aga mis siis, kui te ei tea, kus mõõga tassi hoitakse? Selle leidmiseks on vaja algoritmi. Võimalik, et isegi peate kasutama mõõtepaki kasutamise algoritmi.

Seega, kui algoritm on juhiste kogum, peab ta arvestama ka seda, kes kavatseb need juhised tõlgendada. Näiteks kui annate sõpradele juhiseid, milles on üksikasjalikult selgitatud, kuidas oma maja juurde jõuda lähimasse toidukauplusse, teie sõber ainult teada, kuidas poodi jõuda, kui nad teavad, kus teie maja asub. Nad pole võimelised (veel) leidma seda konkreetset toidupoest ütlema, teise sõbra maja.

Nii saab algoritm olla nii lihtne kui keeruline. Ja kui me räägime arvutialgoritmide poolest, on algoritmide sõnastamise oluline osa mõistmine, mida arvuti suudab teha.

Kuidas sorteerimise algoritmid arenesid

Üks esimesi loodud algoritme oli mullide sorteerimise rutiin. Bubble sort on meetod numbrite, tähtede või sõnade sorteerimiseks, looping läbi andmekogumi, võrdleb iga väärtuste kogumit kõrvuti ja vajadusel vaheta need.

Seda silmust korratakse seni, kuni algoritm saab kogu loendit liikuda, ilma et oleks vaja midagi vahetada, mis tähendab, et väärtused on õigesti sorteeritud. Seda tüüpi algoritmi nimetatakse tihtipeale rekursiivseks algoritmiks, sest see loeb ennast ikka ja jälle, kuni see ülesanne on lõpule jõudnud.

Algoritm võib tunduda nii lihtne:

  1. Mine esimese väärtuseni.
  2. Vajadusel kontrollige seda väärtust järgmise väärtuse ja vahetuspunktidega
  3. Mine järgmise väärtuse juurde ja korrake võrdlust.
  4. Kui oleme loendi lõpus, pöörduge loosungi ajal mõne väärtuse vahele.

Kuid mulli sorteerimine ei osutunud kõige tõhusamaks väärtuste sorteerimise viisiks. Kuna aeg läks ja arvutid suutsid keerukamate ülesannete täitmisega kiirelt kiiresti hakkama, avanesid uued sortimisalgoritmid.

Üks selline algoritm skannib läbi esimese loendi ja loob järjestatud väärtuste teise nimekirja. See meetod teeb ainult esialgse loendi kaudu ühe läbikäigu ja iga väärtusega loeb see teise loendi kaudu, kuni see leiab õige väärtuse määramise koha. Tavaliselt on see efektiivsem kui mullide sortimise meetodi kasutamine.

See on koht, kus algoritmid võivad tõesti hulluks saada. Või tõesti huvitav, sõltuvalt sellest, kuidas te seda vaatate.

Kuigi mullide sorteerimismeetodit peetakse üheks kõige ebaefektiivsemaks väärtuste sorteerimise meetodiks mitmel viisil, kui algne loend sobib hästi, võib mullide sorteerimine olla üks kõige tõhusamaid. Seda seetõttu, et sel juhul mullide sortimise algoritm läbib loendi ühe korra ja määrab selle õigesti sorteeritud.

Kahjuks ei tea me alati, kas meie loend on eelregistreeritud, seega peame valima algoritmi, mis oleks kõige tõhusam, et kasutada keskmiselt paljusid loendeid.

Mida me õpime mullist sorteeri

Facebooki algoritmid ja igapäevaelus rohkem

Algoritmid töötavad inimesi igapäevaselt. Veebi otsimisel töötab algoritm parimaid otsingutulemusi. Küsige oma nutitelefonilt juhiseid ja algoritm otsustab teie jaoks parim tee. Kui sirin Facebooki, otsustab algoritm, millised meie sõbra Facebooki postitused on meile kõige olulisemad. (Loodame, et meie sõbrad ei tea, milline üks Facebook arvab, et me kõige rohkem meeldib!)

Kuid algoritmiliselt mõtlemine aitab meil kaugelt meie arvutiel elada. See võib isegi aidata meil paremat võileiba luua.

Oletame, et alustan kahe leiba viiluga, jagades sinepi ühele viilale ja majoneesi teisele viilule. Ma panen juustu viilu leiba koos majoneesiga, mõnda sinki peal, mõnda salatit, kaks tomati viilu ja seejärel libistage see viil koos sinepiga selle peale. Hea võileib, eks?

Kindlasti, kui ma sööd seda kohe. Kuid kui ma jätan selle mõneks ajaks lauale, võib see pealmine leivapulber mõne selle tomati leotamisest õlgata. See on probleem, mida ma pole päris ette kujutanud, ja ma võin võileiba juba aastaid märkida, kuid kui ma teen seda, võin ma hakata mõtlema, kuidas oma algoritmi muuta, et luua paremat võileiba.

Näiteks võin ma tomatist lahti saada. Kuid ma ei taha seda tomati maitset kaotada. Selle asemel võin ma panna tomati võileiba pärast leiba ja salatit. See võimaldab salatil kaitsetõket tomati ja leiva vahel.

Nii avaneb algoritm. Algoritmiks ei pea algoritmi arvuti käivitama. Algoritm on protsess ja protsessid on kõik meie ümber.