Typy vyhledávacích algoritmů

Matka a otec líbání dívka na koberci

Rodina používá notebook.

Kredit obrázku: altrendo images/Stockbyte/Getty Images

Vyhledávací algoritmy tvoří důležitou součást mnoha programů. Některá vyhledávání zahrnují hledání záznamu v databázi, například vyhledání vašeho záznamu v databázi IRS. Jiné vyhledávací algoritmy procházejí virtuálním prostorem, jako jsou ty, které hledají nejlepší šachové tahy. Přestože si programátoři mohou vybrat z mnoha typů vyhledávání, vybírají algoritmus, který nejlépe odpovídá velikosti a struktuře databáze, aby byl uživatelsky přívětivý.

Lineární vyhledávání

Lineární vyhledávání je algoritmus volby pro krátké seznamy, protože je jednoduchý a vyžaduje minimální implementaci kódu. Algoritmus lineárního vyhledávání se podívá na první položku seznamu, aby zjistil, zda ji hledáte, a pokud ano, jste hotovi. Pokud ne, podívá se na další položku a dále na každou položku v seznamu.

Video dne

Binární vyhledávání

Binární vyhledávání je oblíbený algoritmus pro velké databáze se záznamy uspořádanými podle číselného klíče. Mezi příklady kandidátů patří databáze IRS zakódovaná číslem sociálního pojištění a záznamy DMV zakódované podle čísel řidičského průkazu. Algoritmus začíná uprostřed databáze – pokud je vaše cílové číslo větší než prostřední číslo, bude hledání pokračovat v horní polovině databáze. Pokud je vaše cílové číslo menší než prostřední číslo, bude vyhledávání pokračovat v dolní polovině databáze. Tento proces neustále opakuje a pokaždé rozdělí databázi na polovinu, dokud nenajde záznam. Toto vyhledávání je složitější než lineární vyhledávání, ale u velkých databází je mnohem rychlejší než lineární vyhledávání.

Tree Search

Stromové vyhledávání funguje pouze v případě, že data zapadají do stromové struktury. Databáze začíná u kořene, který přechází na několik položek, z nichž každá přechází na několik dalších položek a tak dále, dokud nemáte strom. Jedním z příkladů jsou šachy. Aktuální pozice na desce je kořen. Legální tahy z této pozice představují jeden krok po stromě a tak dále, dokud hráč nenajde pozici na desce, která ho ponechává v nejlepší pozici.

Genetický algoritmus

Hledání genetického algoritmu je jednou z technik umělé inteligence. Hledá „optimální řešení“ vyjádřené jako řetězec dat – jako je seznam vnitřních rozměrů proudového motoru, který poskytuje maximální tah. Hledání začíná náhodnou populací řetězců a testuje každý z nich, ponechávají si ty nejlepší a rozmnožují je, aby získali další generaci. Program tento proces neustále opakuje, dokud nedosáhne optimálního řetězce řešení.