Paieškos algoritmų tipai

Mama ir tėvas bučiuoja mergaitę ant kilimėlio

Šeima naudoja nešiojamąjį kompiuterį.

Vaizdo kreditas: altrendo images/Stockbyte/Getty Images

Paieškos algoritmai yra svarbi daugelio programų dalis. Kai kurios paieškos apima įrašo paiešką duomenų bazėje, pavyzdžiui, savo įrašo paiešką IRS duomenų bazėje. Kiti paieškos algoritmai naršo virtualioje erdvėje, pavyzdžiui, ieškantys geriausių šachmatų ėjimų. Nors programuotojai gali rinktis iš daugybės paieškos tipų, jie pasirenka algoritmą, kuris geriausiai atitinka duomenų bazės dydį ir struktūrą, kad būtų patogiau naudotis.

Linijinė paieška

Linijinė paieška yra pasirinktas trumpųjų sąrašų algoritmas, nes jis paprastas ir reikalauja minimalaus kodo. Linijinės paieškos algoritmas žiūri į pirmąjį sąrašo elementą, kad sužinotų, ar jo ieškote, ir, jei taip, esate baigę. Jei ne, jis peržiūri kitą elementą ir kiekvieną sąrašo įrašą.

Dienos vaizdo įrašas

Dvejetainė paieška

Dvejetainė paieška yra populiarus algoritmas didelėms duomenų bazėms su įrašais, išdėstytais skaitiniais raktais. Kandidatų pavyzdžiai yra IRS duomenų bazė, įrašyta socialinio draudimo numeriu, ir DMV įrašai, įrašyti pagal vairuotojo pažymėjimo numerius. Algoritmas prasideda nuo duomenų bazės vidurio – jei jūsų tikslinis skaičius yra didesnis už vidurinį skaičių, paieška bus tęsiama viršutinėje duomenų bazės pusėje. Jei jūsų tikslinis skaičius yra mažesnis už vidurinį skaičių, paieška bus tęsiama naudojant apatinę duomenų bazės pusę. Jis nuolat kartoja šį procesą, kaskart perpjaunant duomenų bazę per pusę, kol randa įrašą. Ši paieška yra sudėtingesnė nei linijinė paieška, tačiau didelėse duomenų bazėse ji daug greitesnė nei linijinė paieška.

Medžių paieška

Medžio paieška veikia tik tuo atveju, jei duomenys telpa į medžio struktūrą. Duomenų bazė prasideda nuo šaknies, kuri eina į keletą elementų, kurių kiekvienas patenka į dar kelis elementus ir taip toliau, kol turėsite medį. Vienas iš pavyzdžių yra šachmatų žaidimas. Dabartinė lentos padėtis yra šaknis. Teisingi judesiai iš šios pozicijos reiškia vieną žingsnį žemyn medžiu ir taip toliau, kol žaidėjas suras tą lentos poziciją, kuri palieka jam geriausią poziciją.

Genetinis algoritmas

Genetinio algoritmo paieška yra viena iš dirbtinio intelekto metodų. Ji ieško „optimalaus sprendimo“, išreikšto duomenų eilute, pavyzdžiui, reaktyvinio variklio, užtikrinančio didžiausią trauką, vidinių matmenų sąrašo. Paieška pradedama nuo atsitiktinės stygų populiacijos ir kiekviena iš jų išbandoma, išsaugant geriausias ir išauginant jas, kad gautų kitą kartą. Programa kartoja šį procesą, kol pasiekia optimalų sprendimo eilutę.