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. Wyszukiwania liniowe polega na przeglądaniu zbioru nieuporządkowanego, element po elemencie, aż do napotkania poszukiwanego elementu (sukces) lub końca listy (niepowodzenie).

  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. Dzieli on uporządkowany zbiór na coraz mniejsze części, aż do otrzymania podzbioru jednoelementowego i sprawdza, czy jest to szukany element.

  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 wyszukiwania binarnego (połówkowego)
algorytm wyszukiwania binarnego (połówkowego)

algorytm oparty na metodzie „dziel i zwyciężaj”, polegający na dzieleniu uporządkowanego zbioru na coraz mniejsze części, aż do otrzymania podzbioru jednoelementowego i sprawdzenia, czy jest to szukany element

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