Otsingualgoritmide tüübid

Ema ja isa suudlevad tüdrukut vaibal

Perekond kasutab sülearvutit.

Pildi krediit: altrendo images/Stockbyte/Getty Images

Otsingualgoritmid moodustavad paljude programmide olulise osa. Mõned otsingud hõlmavad kande otsimist andmebaasist, näiteks oma kirje otsimist IRS-i andmebaasist. Teised otsingualgoritmid traalivad läbi virtuaalse ruumi, näiteks need, kes jahivad parimaid malekäike. Kuigi programmeerijad saavad valida paljude otsingutüüpide hulgast, valivad nad kasutajasõbraliku kogemuse pakkumiseks algoritmi, mis sobib kõige paremini andmebaasi suuruse ja struktuuriga.

Lineaarne otsing

Lineaarne otsing on lühikeste loendite jaoks valitud algoritm, kuna see on lihtne ja nõuab minimaalset koodi rakendamist. Lineaarne otsingualgoritm vaatab esimest loendiüksust, et näha, kas te otsite seda, ja kui jah, siis olete lõpetanud. Kui ei, vaatab see järgmist üksust ja jätkab loendi iga kirjet.

Päeva video

Binaarne otsing

Binaarne otsing on populaarne algoritm suurte andmebaaside jaoks, mille kirjed on järjestatud numbriklahvide järgi. Näidiskandidaatide hulka kuuluvad IRS-i andmebaas, mis on sisestatud sotsiaalkindlustuse numbriga, ja DMV-kirjed, mis on sisestatud juhiloa numbritega. Algoritm algab andmebaasi keskelt – kui teie sihtarv on keskmisest suurem, jätkatakse otsingut andmebaasi ülemise poolega. Kui teie sihtnumber on keskmisest väiksem, jätkatakse otsingut andmebaasi alumise poolega. See kordab seda protsessi pidevalt, lõigates andmebaasi iga kord pooleks, kuni see kirje leiab. See otsing on keerulisem kui lineaarne otsing, kuid suurte andmebaaside puhul on see palju kiirem kui lineaarne otsing.

Puu otsing

Puuotsing töötab ainult siis, kui andmed mahuvad puustruktuuri. Andmebaas algab juurest, mis läheb mõne üksuse juurde, millest igaüks läheb veel mõne üksuse juurde ja nii edasi, kuni teil on puu. Üks näide on malemäng. Praegune juhatuse asukoht on juur. Seaduslikud käigud sellelt positsioonilt tähistavad ühte sammu puust allapoole ja nii edasi, kuni mängija leiab lauapositsiooni, mis jätab ta parimale positsioonile.

Geneetiline algoritm

Geneetilise algoritmi otsing on üks tehisintellekti taga olevatest tehnikatest. See otsib "optimaalset lahendust", mis on väljendatud andmejadana – näiteks maksimaalse tõukejõuga reaktiivmootori sisemõõtmete loend. Otsing algab juhusliku stringide populatsiooniga ja testitakse igaüks neist, säilitades parimad ja kasvatades neid järgmise põlvkonna saamiseks. Programm kordab seda protsessi, kuni jõuab optimaalse lahenduse stringini.