Program ma sprawdzać, czy w posortowanym rosnąco zbiorze 1 000 000 liczb występuje podana wartość. Który algorytm wymaga najmniejszej liczby porównań w najgorszym przypadku?
Dlaczego tak
Wyszukiwanie binarne korzysta z tego, że dane są posortowane: każde porównanie ze środkowym elementem odrzuca połowę zakresu, więc dla miliona elementów wystarcza około 20 porównań (2^20 ≈ 1 048 576). Wyszukiwanie liniowe, także z wartownikiem, w najgorszym przypadku sprawdza wszystkie milion elementów. Ponowne sortowanie już posortowanych danych tylko dokłada pracy.