Rodzaje algorytmów wyszukiwania

Matka i ojciec całują dziewczynę na dywanie

Rodzina korzysta z laptopa.

Źródło obrazu: altrendo obrazy/Stockbyte/Getty Images

Algorytmy wyszukiwania stanowią ważną część wielu programów. Niektóre wyszukiwania obejmują szukanie wpisu w bazie danych, na przykład wyszukiwanie rekordu w bazie danych IRS. Inne algorytmy wyszukiwania przemierzają wirtualną przestrzeń, na przykład te, które polują na najlepsze ruchy szachowe. Chociaż programiści mogą wybierać spośród wielu typów wyszukiwania, wybierają algorytm, który najlepiej pasuje do rozmiaru i struktury bazy danych, aby zapewnić przyjazną dla użytkownika obsługę.

Wyszukiwanie liniowe

Wyszukiwanie liniowe jest algorytmem z wyboru dla krótkich list, ponieważ jest proste i wymaga minimalnego kodu do implementacji. Algorytm wyszukiwania liniowego sprawdza pierwszy element listy, aby sprawdzić, czy go szukasz, a jeśli tak, to koniec. Jeśli nie, przegląda następną pozycję i dalej przez każdy wpis na liście.

Wideo dnia

Wyszukiwanie binarne

Wyszukiwanie binarne to popularny algorytm dla dużych baz danych z rekordami uporządkowanymi według klucza numerycznego. Przykładowi kandydaci to baza danych IRS powiązana z numerem ubezpieczenia społecznego oraz rekordy DMV poprzedzone numerami prawa jazdy. Algorytm rozpoczyna się w środku bazy danych — jeśli liczba docelowa jest większa niż środkowa liczba, wyszukiwanie będzie kontynuowane w górnej połowie bazy danych. Jeśli liczba docelowa jest mniejsza niż środkowa liczba, wyszukiwanie będzie kontynuowane w dolnej połowie bazy danych. Powtarza ten proces, za każdym razem przecinając bazę danych o połowę, dopóki nie znajdzie rekordu. To wyszukiwanie jest bardziej skomplikowane niż wyszukiwanie liniowe, ale w przypadku dużych baz danych jest znacznie szybsze niż wyszukiwanie liniowe.

Wyszukiwanie drzew

Wyszukiwanie w drzewie działa tylko wtedy, gdy dane pasują do struktury drzewa. Baza danych zaczyna się od korzenia, który prowadzi do kilku elementów, z których każdy przechodzi do kilku innych elementów i tak dalej, aż do utworzenia drzewa. Jednym z przykładów jest gra w szachy. Obecna pozycja na planszy to korzeń. Prawidłowe ruchy z tej pozycji reprezentują jeden stopień w dół drzewa i tak dalej, dopóki gracz nie znajdzie pozycji na planszy, która pozostawi go w najlepszej pozycji.

Algorytm genetyczny

Wyszukiwanie algorytmu genetycznego jest jedną z technik stojących za sztuczną inteligencją. Wyszukuje „optymalne rozwiązanie” wyrażone jako ciąg danych — na przykład lista wewnętrznych wymiarów silnika odrzutowego, który zapewnia maksymalny ciąg. Poszukiwanie rozpoczyna się od losowej populacji ciągów i testuje każdy z nich, zachowując najlepsze i hodując je, aby uzyskać następne pokolenie. Program powtarza ten proces, aż dojdzie do optymalnego ciągu rozwiązania.