Keresési algoritmusok típusai

Anya és apa csókolózó lány a szőnyegen

Egy család laptopot használ.

Kép jóváírása: altrendo images/Stockbyte/Getty Images

A keresési algoritmusok számos program fontos részét képezik. Egyes keresések során egy bejegyzést kell keresni egy adatbázisban, például megkeresi a rekordját az IRS adatbázisában. Más keresőalgoritmusok egy virtuális térben járnak át, például azok, amelyek a legjobb sakklépésekre vadásznak. Bár a programozók számos keresési típus közül választhatnak, a felhasználóbarát élmény érdekében kiválasztják az adatbázis méretéhez és szerkezetéhez legjobban illeszkedő algoritmust.

Lineáris keresés

A lineáris keresés a választott algoritmus a rövid listákhoz, mivel egyszerű és minimális kódot igényel a megvalósítása. A lineáris keresési algoritmus megnézi az első listaelemet, hogy megnézze, keresi-e, és ha igen, akkor kész. Ha nem, akkor a következő elemre néz, és végignézi a lista minden bejegyzését.

A nap videója

Bináris keresés

A bináris keresés egy népszerű algoritmus nagy adatbázisok számára, amelyekben a rekordok numerikus kulcsok szerint vannak rendezve. Példajelöltek közé tartozik a társadalombiztosítási számmal kulcsolt IRS-adatbázis és a jogosítványszámokkal kulcsolt DMV-rekordok. Az algoritmus az adatbázis közepétől indul – ha a célszám nagyobb, mint a középső szám, a keresés az adatbázis felső felével folytatódik. Ha a célszám kisebb, mint a középső szám, a keresés az adatbázis alsó felével folytatódik. Folyamatosan ismétli ezt a folyamatot, minden alkalommal felére vágja az adatbázist, amíg meg nem találja a rekordot. Ez a keresés bonyolultabb, mint a lineáris keresés, de nagy adatbázisok esetén sokkal gyorsabb, mint a lineáris keresés.

Fa keresés

A fakeresés csak akkor működik, ha az adatok egy fastruktúrába illeszkednek. Az adatbázis egy gyökérnél kezdődik, amely néhány elemhez megy, amelyek mindegyike néhány további elemhez megy, és így tovább, amíg meg nem lesz egy fa. Ilyen például a sakkjáték. Az aktuális táblapozíció a gyökér. A szabályos lépések ebből a pozícióból egy lépést jelentenek a fán, és így tovább, amíg a játékos meg nem találja azt a táblapozíciót, amely a legjobb pozícióban hagyja őt.

Genetikai algoritmus

A genetikai algoritmus-keresés a mesterséges intelligencia egyik technikája. Adatsorként kifejezett „optimális megoldást” keres – például a maximális tolóerőt biztosító sugárhajtómű belső méreteinek listáját. A keresés a húrok véletlenszerű populációjával kezdődik, és mindegyiket teszteli, megtartva a legjobbakat, és tenyésztve őket a következő generációhoz. A program addig ismétli ezt a folyamatot, amíg el nem éri az optimális megoldási karakterláncot.