Vrste iskalnih algoritmov

click fraud protection
Mati in oče poljubljata dekle na preprogi

Družina uporablja prenosni računalnik.

Zasluga slike: altrendo slike/Stockbyte/Getty Images

Iskalni algoritmi so pomemben del mnogih programov. Nekatera iskanja vključujejo iskanje vnosa v bazi podatkov, na primer iskanje vašega zapisa v bazi podatkov IRS. Drugi iskalni algoritmi lovijo po virtualnem prostoru, na primer tisti, ki iščejo najboljše šahovske poteze. Čeprav lahko programerji izbirajo med številnimi vrstami iskanja, izberejo algoritem, ki se najbolje ujema z velikostjo in strukturo baze podatkov, da zagotovi uporabniku prijazno izkušnjo.

Linearno iskanje

Linearno iskanje je izbrani algoritem za kratke sezname, ker je preprosto in zahteva minimalno kodo za izvedbo. Algoritem linearnega iskanja pogleda prvi element seznama in preveri, ali ga iščete, in če je tako, ste končali. Če ne, si ogleda naslednji element in naprej skozi vsak vnos na seznamu.

Video dneva

Binarno iskanje

Binarno iskanje je priljubljen algoritem za velike baze podatkov z zapisi, razvrščenimi po številčnem ključu. Primeri kandidatov vključujejo podatkovno zbirko IRS, označeno s številko socialnega zavarovanja, in zapise DMV, ki jih vnesejo številke vozniškega dovoljenja. Algoritem se začne na sredini baze podatkov – če je vaše ciljno število večje od srednjega števila, se bo iskanje nadaljevalo z zgornjo polovico baze podatkov. Če je vaša ciljna številka manjša od srednje številke, se bo iskanje nadaljevalo s spodnjo polovico baze podatkov. Ta postopek ponavlja in vsakič prepolovi bazo podatkov, dokler ne najde zapisa. To iskanje je bolj zapleteno kot linearno iskanje, vendar je za velike baze podatkov veliko hitrejše od linearnega iskanja.

Iskanje drevesa

Iskanje po drevesu deluje le, če se podatki prilegajo drevesni strukturi. Baza podatkov se začne pri korenu, ki gre do nekaj elementov, od katerih vsaka do nekaj več elementov in tako naprej, dokler ne dobite drevesa. En primer je igra šaha. Trenutni položaj plošče je koren. Dovoljene poteze s tega položaja predstavljajo en korak navzdol po drevesu in tako naprej, dokler igralec ne najde položaja plošče, ki ga pusti v najboljšem položaju.

Genetski algoritem

Iskanje po genetskem algoritmu je ena od tehnik za umetno inteligenco. Išče "optimalno rešitev", izraženo kot niz podatkov - kot je seznam notranjih dimenzij reaktivnega motorja, ki zagotavlja največji potisk. Iskanje se začne z naključno populacijo nizov in testira vsakega posebej, pri čemer ohrani najboljše in jih vzreja, da dobimo naslednjo generacijo. Program ta postopek ponavlja, dokler ne pride do optimalnega niza rešitev.