R1VNBXGVFEPLG

O wyższości porządku nad bałaganem

Steve Buissinne z Pixabay
Źródło: domena publiczna.

Wyszukiwanie informacji to jeden z podstawowych problemów, którymi zajmuje się algorytmika. Algorytm wyszukujący otrzymuje na wejściu określony problem i po przetestowaniu pewnej liczby możliwych wariantów, daje na wyjściu jego rozwiązanie. Algorytmy stosujące bardziej zaawansowane metody wyszukiwania, potrzebują mniej czasu na przetworzenie danych w przestrzeni poszukiwań.

Rhfhw9Sp5DZTL
RklP8NEVRrppk1
Interaktywne ćwiczenia multimedialne
Źródło: LEARNETIC SA, licencja: CC BY 4.0.

Podsumowanie

  1. Wyszukiwanie liniowe polega na przeglądaniu kolejnych elementów zbioru, aż do napotkania poszukiwanego elementu (sukces) lub sprawdzenia wszystkich elementów (niepowodzenie). Można je stosować zarówno w zbiorach uporządkowanych, jak i nieuporządkowanych.

  2. Metoda „dziel i zwyciężaj” zakłada dzielenie problemu na mniejsze podproblemy tak długo, aż staną się wystarczająco proste do rozwiązania. Uzyskane w ten sposób rozwiązania scala się, uzyskując rozwiązanie całego zadania.

  3. Na tej metodzie opiera się algorytm wyszukiwania binarnego. Algorytm wyszukiwania binarnego  porównuje szukaną wartość z elementem środkowym i odrzuca odpowiednią połowę uporządkowanej listy. Kończy się znalezieniem wartości albo pustym zakresem.

  4. Wyszukiwanie binarne daje bardzo dobre rezultaty w zbiorze uporządkowanym, dlatego ważnym problemem jest szybkie i efektywne porządkowanie elementów.

algorytm wyszukujący
algorytm wyszukujący

algorytm, który otrzymuje na wejściu pewien problem i daje na wyjściu jego rozwiązanie po przetestowaniu pewnej ilości możliwych wariantów

algorytm wyszukiwania liniowego (sekwencyjnego)
algorytm wyszukiwania liniowego (sekwencyjnego)

algorytm polegający na przeglądaniu zbioru nieuporządkowanego, element po elemencie, aż do napotkania poszukiwanego elementu (sukces) lub końca listy (niepowodzenie). Algorytm ten działa również dla uporządkowanego zbioru.

algorytm wyszukiwania binarnego (połówkowego)
algorytm wyszukiwania binarnego (połówkowego)

algorytm oparty na metodzie „dziel i zwyciężaj. Algorytm wyszukiwania binarnego  porównuje szukaną wartość z elementem środkowym i odrzuca odpowiednią połowę uporządkowanej listy. Kończy się znalezieniem wartości albo pustym zakresem

dziel i zwyciężaj
dziel i zwyciężaj

metoda projektowania algorytmów, która zakłada dzielenie problemu na mniejsze podproblemy tak długo, aż staną się wystarczająco proste do rozwiązania; uzyskane rozwiązania scala się, uzyskując rozwiązanie całego zadania

efektywność algorytmu
efektywność algorytmu

liczba elementarnych kroków, które algorytm musi wykonać, żeby rozwiązać dany problem