W informatyce , wykorzystując algorytm wyszukiwania to rodzaj algorytmu , który dla domeny, problemem w tej dziedzinie i podanych kryteriów, zwrotów W rezultacie ustawionej rozwiązań odpowiadających problem.
Załóżmy, że zbiór jego danych wejściowych jest podzielny na podzbiór ze względu na dane kryterium, którym może być na przykład relacja porządku . Ogólnie rzecz biorąc, taki algorytm sprawdza pewną liczbę tych danych wejściowych i zwraca jeden lub więcej docelowych danych wejściowych jako dane wyjściowe.
Zbiór wszystkich potencjalnych rozwiązań w tej dziedzinie nazywany jest przestrzenią poszukiwań .
W zwykłych strukturach danych, takich jak listy , tabele lub drzewa , istnieją dobrze znane algorytmy, które można łatwo wdrożyć i które wykorzystują właściwości struktury danych.
Klasycznym przykładem jest przeszukiwanie dychotomiczne, w którym przestrzeń poszukiwań jest podzielona na dwie przy każdej próbie, co daje złożoność logarytmiczną (dlatego jest bardzo korzystna). Dwa inne przykłady to wyszukiwanie sekwencyjne i wyszukiwanie interpolacyjne .
W przypadku złożonych problemów znalezienie rozwiązań jest kwestią sztucznej inteligencji .
Algorytmy te znajdują się w centrum ważnych pytań dotyczących złożoności algorytmicznej. Są również bardzo ważne ze względu na szeroki zakres zastosowań.