etsintäalgoritmi
Etsintäalgoritmi on tietojenkäsittelytieteessä algoritmi, jonka tarkoituksena on löytää tietty kohde tai datajoukosta. Etsintäalgoritmeja käytetään monenlaisissa tehtävissä, kuten tietokantojen läpikäynnissä, tiedostojen hakemisessa ja verkon läpäisevien polkujen löytämisessä. Yleisimpiä etsintäalgoritmeja ovat lineaarinen etsintä ja binäärinen etsintä. Lineaarinen etsintä käy läpi listan tai taulukon elementit järjestyksessä, kunnes kohde löytyy tai lista loppuu. Se on yksinkertainen toteuttaa, mutta voi olla tehoton suurilla datamäärillä. Binäärinen etsintä puolestaan vaatii, että data on järjestetty. Se jakaa etsittävän alueen jatkuvasti kahtia ja vertaa kohdetta keskimmäiseen elementtiin, nopeuttamaan etsintää huomattavasti. Muita etsintäalgoritmeja ovat esimerkiksi ristipolku-etsintä (breadth-first search) ja syvyyssuuntainen etsintä (depth-first search), joita käytetään erityisesti graafien ja puurakenteiden käsittelyssä. Algoritmin valinta riippuu usein käsiteltävän datan luonteesta ja käytettävissä olevista resursseista, kuten ajasta ja muistista.