Algoritmi
Wikipedia
Algoritmi on tarkasti määritelty äärellinen (päättyvä) vaihesarja, jota seuraamalla voidaan ratkaista tietty ongelma.
J. G. Brookshear: "Tarkasti ottaen algoritmi on äärellinen joukko täsmällisiä, suoritettavissa olevia ohjeita, jotka ohjaavat päättyvää tehtävän suoritusta."
Algoritmi on alkujaan matemaattinen käsite. Algoritmeja ovat jo nekin koulun alaluokilla opetetut menetelmät (allekkain kertomisesta ja jakokulmassa jakamisesta), joilla mitkä tahansa luvut voidaan kertoa tai jakaa keskenään, mutta toisinaan termillä on tarkoitettu nimenomaan Eukleideen algoritmia kahden kokonaisluvun suurimman yhteisen tekijän etsimiseksi. Nykyisin algoritmin käsite kuitenkin liittyy ennen kaikkea tietokoneiden ohjelmointiin ja tietojenkäsittelytieteeseen, joissa niillä on erityisen suuri merkitys etenkin tietorakenteiden yhteydessä. Tietojenkäsittelyn terminä Brookshearin määritelmä algoritmille tarkoittaa sitä, että on mahdollista rakentaa algoritmia vastaava Turingin kone, joka pysähtyy kaikilla syötteillä.
Esimerkiksi keittokirja on oikeastaan kokoelma algoritmeja, joita seuraamalla ruoanlaiton pitäisi onnistua. Vastaavasti koottavan kirjahyllyn mukana pitäisi tulla algoritmi, jonka avulla palasista saa rakennettua toimivan kirjahyllyn. Todellisuudessa algoritmit ovat kuitenkin usein monimutkaisempia ja sisältävät esimerkiksi toistoja ja haarautumia loogisen päättelyn perusteella. Tietokoneohjelmien toiminta perustuu kehittyneisiin ohjelmointikielillä ilmaistuihin algoritmeihin.
Sana algoritmi tulee persialaisen matemaatikon ja tähtitieteilijän Muhammed ibn-Musa al-Khwarizmin nimestä.
[muokkaa] Muutamia algoritmeja
- Hakualgoritmit
- Lajittelualgoritmit
- Tiivistealgoritmit (engl. message-digest)
- Pakkausalgoritmit
- Merkkijonohakualgoritmit
- A*-algoritmi
- FFT, nopea Fourier'n muunnos
Myös äänen- ja kuvanpakkaukseen liittyvät koodekit käyttävät erilaisia algoritmeja.
Matemaattisia algoritmeja:
[muokkaa] Katso myös