PROMOCJA na kursy trwa do 15/06! Do końca: --:--:--!

Kategorie

Kategorie

Wyszukiwanie binarne

Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej!

Wyszukiwanie binarne to jedno z najważniejszych narzędzi w arsenale każdego Olimpijczyka na Olimpiadzie Informatycznej, czy Olimpiadzie Informatycznej Juniorów. Jest nie tylko przydatne samo w sobie, ale stanowi także podstawę wielu bardziej zaawansowanych algorytmów. W tym artykule wyjaśnimy, na czym polega jego działanie, pokażemy, jak je zaimplementować oraz przeanalizujemy przykłady jego zastosowania. Zwrócimy także uwagę na to, jakie warunki musi spełniać problem, aby można było skutecznie zastosować wyszukiwanie binarne.


wyszukiwanie binarne kod binarny na olimpiadzie informatycznej juniorów
www.freepik.com

Wyszukiwanie binarne – motywacja


Zacznijmy od prostego przykładu – gry w zgadywanie liczby. Jedna osoba wymyśla liczbę z przedziału od 1 do 100, a druga próbuje ją odgadnąć. Przy każdej próbie zgadujący otrzymuje informację zwrotną: ,,za mała’’, ,,za duża’’ lub ,,dobrze”. Choć gra może wydawać się prosta, a nawet losowa, to w rzeczywistości pozwala na zastosowanie sprytnej taktyki, która znacznie przyspiesza znalezienie poprawnej odpowiedzi.

Zastanówmy się najpierw, jakie strategie możemy przyjąć, żeby odgadnąć liczbę w jak najmniejszej ilości prób. Najprostszą metodą, którą wielu z nas kiedyś użyło, jest zgadywanie losowych liczb do momentu, aż trafimy na właściwą. Inną opcją jest zgadywanie kolejnych wartości po kolei, zaczynając od początku lub końca przedziału. Obie te strategie są jednak nieoptymalne, w najgorszym przypadku możemy odgadnąć wszystkie możliwe liczby, zanim dojdziemy do tej poprawnej. Zauważmy przy tym, że oba te podejścia nie wykorzystują w żaden sposób informacji o tym, czy szukana przez nas liczba jest większa czy mniejsza od zgadywanej.

Jak zatem poprawić nasz wynik? W momencie zgadywania jakiejś liczby, na przykład ,,10’’, mogą wydarzyć się dwie rzeczy:

  • Przy odpowiedzi ,,za mała’’ dowiadujemy się, że szukana liczba jest większa od 10. Co jednak dodatkowo możemy wywnioskować, to to, że na pewno nie będzie to też żadna z liczb od 1 do 10.
  • Analogicznie, przy odpowiedzi ,,za duża”, możemy wyeliminować wszystkie liczby, tym razem większe od 10. Teraz jednak przedział [11, 100] zawiera w sobie dużo więcej liczb, co daje nam zaledwie kilka możliwych odpowiedzi.

Różne liczby mogą nam dać różny rezultat i ,,obciąć’’ więcej lub mniej możliwości. Niestety wybór jednak nie jest taki prosty, ponieważ prawdopodobieństwo tych rezultatów jest różne. Wracając do naszego przykładu, odpowiedź ,,za mała’’ jest dużo bardziej prawdopodobna niż druga. Gdybyśmy zawsze zgadywali liczbę z jednej strony przedziału, np. 10, to najczęściej dostawalibyśmy tą odpowiedź i eliminowali tylko niewielką część możliwości. Dlatego potrzebujemy lepszej strategii, która maksymalnie skraca przedział po każdej próbie – niezależnie od wyniku.


Działanie


Wyszukiwanie binarne, czyli algorytm, który pomoże nam rozwiązać problem postawiony wyżej, działa zgodnie z jedną prostą zasadą. Dopóki nie zgadniemy poprawnej liczby, zawsze celujemy dokładnie w środek aktualnego przedziału liczb, które są możliwym wynikiem. 

W ten sposób, niezależnie od tego, jaką odpowiedź dostaniemy, zawsze eliminujemy dokładnie połowę możliwości. To właśnie sprawia, że wyszukiwanie binarne jest tak skuteczne – skraca przestrzeń rozwiązań najszybciej jak to możliwe. W analizie algorytmów szczególnie interesuje nas najgorszy możliwy przypadek (tzw. pesymistyczny scenariusz), a wyszukiwanie binarne zapewnia, że nawet wtedy liczba kroków czy strzałów rośnie bardzo wolno – logarytmicznie względem rozmiaru przedziału.

Poniżej przedstawiamy przykładową implementację algorytmu wyszukiwania binarnego w języku C++. W kodzie jest dodatkowa funkcja “czySzukana()”, która zwraca string z odpowiedzią drugiego gracza.


kod binarny na olimpiadzie informatycznej: wyszukiwanie binarne
Kod przygotowany przez Jakuba Misiaszka przy pomocy: [https://10015.io/tools/code-to-image-converter]

Jak widać, implementacja algorytmu wyszukiwania binarnego jest krótka i całkiem prosta. Warto ją zapamiętać, ponieważ różnice między implementacjami do konkretnych zadań będą niewielkie. Ze względu na to, że w każdym kroku pętli ilość możliwych wyników zmniejsza się o połowę, potrzebujemy maksymalnie logarytmiczną ilość obrotów. Także proste oszacowanie daje nam złożoność O(log n).


Wyszukiwanie binarne – uwagi


Przedstawiony powyżej algorytm jest bardzo uniwersalny i często może pomóc w zoptymalizowaniu wielu rozwiązań. Istnieje też wiele innych przykładów z życia, w których można go użyć. Następnym razem, gdy zapomnicie zakładki w książce, lub będziecie szukać słowa w słowniku, możecie przypomnieć sobie ten artykuł. Trzeba jednak wiedzieć, jakie zadania nadają się do wyszukiwania binarnego oraz jakie warunki muszą zostać spełnione, żeby móc zastosować tę technikę.

  1. Zadanie musi szukać wartości. To może być oczywisty warunek, ale niemniej jednak jest ważny. Można to też traktować jako pewnego rodzaju sugestię. Gdy polecenie wymaga znalezienie jednej konkretnej wartości, często może się okazać, że jest to idealne zadanie dla wyszukiwania binarnego.
  2. Dane muszą być możliwe do posortowania. Tak jak opisywaliśmy wcześniej, wyszukiwanie binarne polega w pełni na informacji ,,mniejszy’’ lub ,,większy’’. Ta informacja jednak jest dostępna tylko w zbiorach monotonicznych. Gdyby słowa w słowniku nie były posortowane, zajrzenie na jakąś stronę nie dałoby nam żadnej dodatkowej wiedzy. Często w zadaniu możemy sobie sami posortować tablicę, jednak należy zwracać szczególną uwagę, czy dane tworzą jakiś porządek, oraz czy obecna kolejność nie jest istotna dla zadania.

Częstym archetypem pytania, dla którego oczekiwane jest wyszukiwanie binarne, jest ,,Znajdź najmniejszą wartość X, dla której spełniony jest warunek Y’’. W tym wypadku dodatkową własnością, której potrzebujemy, jest to, że jeżeli dla jakiejś liczby x warunek nie jest prawdziwy, to dla każdej mniejszej też nie będzie.


Kod binarny na olimpiadzie informatycznej: co musisz wiedzieć?
www.freepik.com

Wstęp do wyszukiwania binarnego: wiedza w pigułce!


Gratulacje! Teraz już znasz wyszukiwanie binarne, jeden z najbardziej kluczowych algorytmów. Choć jest to jedna z prostszych technik, to bardzo często pojawia się jako część rozwiązania, lub dodatkowa wymagana optymalizacja. Dlatego znajomość tego sposobu jest niesamowicie istotna dla wszystkich Olimpijczyków, niezależnie od tego, czy startujesz w Olimpiadzie Informatycznej, czy Olimpiadzie Informatycznej Juniorów.

Zakończymy ten artykuł z jedną małą radą. Zaletą tego algorytmu jest między innymi jego elastyczność i możliwość dostosowania do zadania. Jest to jednak również jego trudnością – każde zadanie będzie miało odrobinę inną implementację algorytmu. Dlatego warto przećwiczyć sobie jego użycie w domu na kilku zadaniach. Takie doświadczenie może okazać się kluczowe przy rozwiązywaniu zadań na samych zawodach.

Nie czekaj – dołącz do Indeksu w Kieszeni i rozpocznij solidne:

Zapisz się do naszego newslettera, aby być na bieżąco z nowościami i wydaniami.

Subskrybując, zgadzasz się z naszą Polityką Prywatności i wyrażasz zgodę na otrzymywanie aktualizacji od naszej firmy.
Zapisz się do naszego newslettera, aby być na bieżąco z nowościami
i wydarzeniami.
Newsletter
Subskrybując, zgadzasz się z naszą Polityką Prywatności i wyrażasz zgodę na otrzymywanie aktualizacji od naszej firmy.
© 2026 Indeks w Kieszeni. Wszelkie prawa zastrzeżone.

Strona przygotowana przez Zyskowni.pl

Platforma oraz grupa na Facebooku

1. Początek kursu.

Platforma edukacyjna.

Zakładamy Ci konto na naszej platformie e-learningowej, na której znajdują się materiały, artykuły popularnonaukowe, czy nagrania video! Możesz tam bez ograniczeń kontaktować się ze swoim Opiekunem. Odpowiada on na Twoje pytania i sprawdza wysyłane do sprawdzenia prace.

Olimpiada Biologiczna - kurs e-learningowy

2. Regularna nauka.

Dopracowane moduły.

Na platformie otrzymujesz moduły - zestawy materiałów z prezentacjami, skryptami, testami, kartkówkami. Z nimi pracujesz w dowolnym miejscu - w domu, w podróży, w bibliotece.

Olimpiada Biologiczna - ciągły kontakt z prowadzącym kurs

3. Ciągły kontakt.

Prowadzący do Twojej dyspozycji.

Na platformie, gdzie odbywa się kurs możesz zadawać pytania 24h na dobę 7 dni w tygodniu - Prowadzący są tam po to by zawsze Ci pomóc i rozwiać Twoje wątpliwości.

Olimpiada Biologiczna - kontrola postępu w czasie kursu

4. Kontrola postępów.

Sprawdziany, kartkówki i testy.

Twój progres w nauce jest kontrolowany wraz z każdym kolejnym modułem - służą temu wszelkie kartkówki, testy i sprawdziany, które rozwiązane odsyłasz i otrzymujesz szczegółowy klucz.

Matura z filozofii - materiał dopasowany do Twoich potrzeb

5. Dopasowany materiał.

Do Twoich potrzeb i możliwości.

Celujesz w świetny wynik na egzaminie ósmoklasisty? A może potrzebujesz tylko usystematyzować posiadaną wiedzę? Nieważne - nasz kurs (tempo pracy i materiały oraz pomoc Prowadzącego) jest zawsze dopasowany do aktualnego stanu Twoich umiejętności i oczekiwań.

Nagrania

6. Nagrania.

Omówienie najważniejszych zagadnień egzaminacyjnych.

Na platformie otrzymasz nielimitowany w okresie przygotowań dostęp do nagrań video, na których nasz zespół merytoryczny przeprowadzi Cię przez najbardziej wymagające i najczęściej pojawiające się na arkuszu zagadnienia egzaminacyjne.

Indywidualny kurs e-learningowy
egzamin ósmoklasisty

Wolisz uczyć się we własnym tempie i na własnych zasadach? W takim razie kurs e-learningowy jest stworzony właśnie dla Ciebie!

Nowoczesna forma indywidualnej nauki zdalnej (start: natychmiast lub we wskazanym terminie)

Dostęp do dedykowanej platformy do nauki e-learningowej

Harmonogram przygotowań dostosowany do dostępności ucznia

Przypisany opiekun merytoryczny prowadzący kurs

Komplet materiałów podzielonych na moduły tematyczne, a w każdym z nich: prezentacje, testy, kartkówki, skrypty, karty pracy i zadania egzaminacyjne

Materiały video – do kursu dołączone są nagrania video, na których członkowie zespołu merytorycznego IWK tłumaczą najtrudniejsze lub najbardziej prawdopodobne w wystąpieniu na egzaminie zagadnienia

Indywidualne podejście – otrzymujesz dostęp do naszej dedykowanej platformy edukacyjnej z pomocami naukowymi, na której możesz bez ograniczeń kontaktować się ze swoim Opiekunem. Odpowiada on na Twoje pytania i sprawdza wysyłane prace.

Regularnie sprawdzane postępy

Ciągła możliwość kontaktu z Prowadzącym

Dzięki nowoczesnej formie nauki nasze kursy są dostępne dla uczniów z całej Polski – możesz dołączyć do nich niezależnie od miejsca zamieszkania i zacząć przygotowania już dziś! Skontaktuj się z nami i nie odkładaj decyzji na później – do egzaminu ósmoklasisty coraz bliżej!

Kurs e-learningowy
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027
PROMOCJA DO 15.06!
cena regularna 1499 zł
1099 zł
lub 3 x 366,33 zł
Pakiet 2 kursów
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027 oraz jeden dowolny przedmiot z oferty 2027
PROMOCJA DO 15.06!
cena regularna 2998 zł
2099 zł
lub 4 x 524,75 zł
Pakiet 3 kursów
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027 oraz dwa pozostałe przedmioty z oferty 2027
PROMOCJA DO 15.06!
cena regularna 4497 zł
2999 zł
lub 4 x 749,75 zł
Zapisz się i zagwarantuj sobie obecną cenę promocyjną. Kurs można rozpocząć już teraz lub w dowolnym innym preferowanym przez siebie momencie.

Grupowy kurs całoroczny
egzamin ósmoklasisty

Chcesz solidnie przygotować się do egzaminu ósmoklasisty? Wolisz regularne zajęcia w grupie i stałe wsparcie prowadzącego? Jeśli tak, kurs grupowy będzie idealnym wyborem dla Ciebie!

46 godzin lekcyjnych zajęć (23 spotkania) + prace domowe

Forma stacjonarna (w salach w Warszawie) lub webinarowa (zajęcia online na żywo)

Nagrania z zajęć webinarowych oraz nagrania umożliwiające nadrobienie materiału osobom zapisującym się po rozpoczęciu kursów stacjonarnych

Możliwość wyboru grupy zajęciowej (harmonogram pojawi się w lipcu 2026 r.)

Komfortowa liczebność grup zajęciowych

Pomoc pomiędzy zajęciami – ciągła możliwość kontaktu z Prowadzącym przez dedykowaną grupę zajęciową

Próbne egzaminy pod koniec kursu

Materiały z zajęć w formie cyfrowej

Młoda i energiczna kadra Prowadzących

Regularne zajęcia pomagają utrzymać systematyczność w nauce i realnie wpływają na lepsze wyniki na egzaminie ósmoklasisty. Co roku wielu naszych uczniów z różnych części Polski osiąga wysokie rezultaty. Zapisz się na zajęcia już dziś i przygotuj się z nami do egzaminu ósmoklasisty!

Kurs 46 godzin
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027
PROMOCJA DO 15.06!
cena regularna 1499 zł
1099 zł
lub 300 zł + 799 zł (do 30.09)
Pakiet 2 kursów
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027
oraz jeden dowolny przedmiot z oferty 2027
PROMOCJA DO 15.06!
cena regularna 2998 zł
2099 zł
lub 600 zł + 1499 zł (do 30.09)
Pakiet 3 kursów
Wyszukiwanie binarne – algorytm, który musisz znać na Olimpiadzie Informatycznej! 2027
oraz dwa pozostałe przedmioty z oferty 2027
PROMOCJA DO 15.06!
cena regularna 4497 zł
2999 zł
lub 900 zł + 2099 zł (do 30.09)