Co to jest wyszukiwanie binarne?

Załóżmy, że dana osoba ma bardzo duży asortyment przedmiotów i układa je w jakiś uporządkowany sposób w długim rzędzie. Ta osoba może szybko dowiedzieć się, gdzie w rzędzie znajduje się konkretny obiekt, korzystając z wyszukiwania binarnego. Wyszukiwanie odbywa się poprzez sprawdzenie środkowego elementu w rzędzie, a jeśli środkowym obiektem nie jest poszukiwany element, następnie przeszukuje się tylko jedną z połówek rzędu, w której może się znajdować dana pozycja. Osoba będzie wiedziała, w której połowie dalej zaglądać, ponieważ przedmioty są ułożone w porządku. Te dwa kroki są wykonywane w kółko, na coraz mniejszych połówkach, aż do znalezienia przedmiotu lub nie ma już gdzie szukać.

W dziedzinie informatyki wyszukiwanie binarne jest procedurą krok po kroku, która znajduje lokalizację lub indeks elementu w sekwencyjnie posortowanym zestawie danych. Osiąga to poprzez porównanie znanej wartości z wyznaczonym środkowym elementem tablicy i, jeśli nie jest on równoważny, wielokrotne ograniczanie porównania środkowego elementu do mniejszej odpowiedniej połowy zestawu, aż do uzyskania równoważności lub wyczerpania listy.

Wyszukiwanie binarne, czasami nazywane wyszukiwaniem półprzedziałowym, jest znacznie szybsze niż podstawowe wyszukiwanie sekwencyjne, które rozpoczyna się na jednym końcu listy elementów i porównuje każdy element po drodze, aż do znalezienia dopasowania lub do końca wyszukiwania Lista. Jeśli dana osoba miała 100 pozycji z rzędu, a ostatnią pozycją była ta, której szukano, wyszukiwanie sekwencyjne wymagałoby 100 porównań. Metoda bisekcji wymaga jednak najwyżej siedmiu porównań, zanim przedmiot zostanie znaleziony. Jest to oczywiście znacznie wydajniejsze niż wyszukiwanie sekwencyjne.

Największą wadą wyszukiwania binarnego jest to, że lista elementów musi być posortowana, aby to wyszukiwanie zadziałało. Sortowanie listy zajmuje trochę czasu. Sortowanie, a następnie użycie tego typu wyszukiwania może zająć więcej czasu niż wykonanie innego rodzaju wyszukiwania.

Umiejętność korzystania z informacji, zwłaszcza z bardzo dużych zbiorów danych, jest ważna dla realizacji wielu życiowych zadań. Dyscyplina informatyka zajmuje się wieloma rodzajami problemów, w tym znajdowaniem skutecznych sposobów wyszukiwania informacji, tak aby uzyskać użyteczne wyniki. Wyszukiwanie binarne to tylko jeden z wielu algorytmów dostępnych do przeszukiwania danych.