I_R_W14_M23_C++ Jak szybko znaleźć dane? Wyszukiwanie liniowe vs binarne
Wyszukiwanie liniowe (klasyczne)
Program przeszukuje tablicę element po elemencie i zwraca indeks szukanego elementu lub informację, że go nie znaleziono.
Wyszukiwanie liniowe z wartownikiem - wersja bezpieczna (zastępowanie ostatniego elementu)
W tej wersji algorytmu nie dodaje się wartownika poza tablicą, lecz tymczasowo zastępujemy ostatni element szukaną wartością. Dzięki temu pętla wyszukująca nie musi sprawdzać warunku końca tablicy - ma gwarancję, że zawsze natrafi na dopasowanie (prawdziwe lub sztuczne).
Po zakończeniu wyszukiwania ostatni element tablicy jest przywracany, aby nie zmienić jej zawartości.
Aby ustalić, czy znaleziono rzeczywisty element, czy jedynie wartownika, sprawdza się:
czy indeks znalezionego elementu jest mniejszy niż
n − 1,lub
czy pierwotny ostatni element tablicy był równy wartości szukanej.
Jeśli żaden z tych warunków nie jest spełniony, oznacza to, że znaleziono jedynie wartownika, a poszukiwany element nie występuje w tablicy.