Täsmällinen, vaiheittainen ohje jonkin tehtävän ratkaisemiseen.
Algorithm · Koodaus
Algoritmi on joukko tarkkoja ohjeita, jotka suoritetaan järjestyksessä jonkin ongelman ratkaisemiseksi. Ruokaresepti on arkinen esimerkki: tee ensin tämä, sitten tuo, ja jos taikina on liian löysää, lisää jauhoja. Ohjelmoinnissa algoritmi kertoo, miten tietokone esimerkiksi järjestää listan, etsii lyhimmän reitin tai valitsee näytettävän sisällön. Arkikielessä algoritmilla tarkoitetaan usein sosiaalisen median järjestelmää, joka päättää, mitä kukin käyttäjä näkee.
Algoritmi ja koodi ovat eri asioita. Sama algoritmi voidaan kirjoittaa millä tahansa ohjelmointikielellä, ja koodi on sen toteutus. Algoritmeja arvioidaan kahdella mittarilla: antavatko ne oikean tuloksen ja kuinka paljon aikaa ja muistia ne tarvitsevat, kun käsiteltävän datan määrä kasvaa.
Vibekoodauksessa algoritmeja ei tarvitse keksiä itse, koska tekoäly tuntee yleisimmät ratkaisut, kuten lajittelun, haun ja reitinhaun. Hyödyllisempää on osata kuvata ongelma tarkasti: mitä syötteitä on, mitä pitää tulla ulos ja mitä tehdään erikoistapauksissa. Kun pyydät tekoälyä kirjoittamaan algoritmin, pyydä samalla testit tyhjälle listalle, yhdelle alkiolle ja suurelle datamäärälle. Ne paljastavat useimmat virheet.
Algoritmi on vaiheittainen ohje, joka kertoo tarkasti, miten tietty tehtävä ratkaistaan. Tietokoneohjelmat koostuvat algoritmeista, jotka on kirjoitettu jollakin ohjelmointikielellä.
Sosiaalisessa mediassa algoritmilla tarkoitetaan järjestelmää, joka valitsee ja järjestää, mitä sisältöä kukin käyttäjä näkee. Se painottaa esimerkiksi sitä, mihin olet aiemmin reagoinut ja keitä seuraat.
Arkinen esimerkki on tapa etsiä sanaa paperisesta sanakirjasta: avaa kirja keskeltä, katso onko sana ennen vai jälkeen, ja jatka siitä puoliskosta, jossa sana on. Ohjelmoinnissa sama ajatus on binäärihaku.
Lajittelualgoritmi järjestää listan, esimerkiksi tuotteet hinnan mukaan
Binäärihaku löytää arvon järjestetystä listasta puolittamalla hakualueen joka kierroksella
Reitinhakualgoritmi laskee lyhimmän reitin kartalla
"Kirjoita funktio, joka poistaa listasta tuplat ja säilyttää järjestyksen, ja lisää testit erikoistapauksille"
Sosiaalisen median algoritmi järjestää syötteen sen perusteella, mihin olet aiemmin reagoinut
Sama algoritmi voidaan toteuttaa Pythonilla, JavaScriptillä tai millä tahansa muulla kielellä
Tutustu kaikkiin vibekoodauksen termeihin.