Przejdź do treści głównej
INF.04Pytanie #772 z 856algorytmy-sortowania-i-wyszukiwania

Programista ma za zadanie zaimplementować funkcję, która będzie często wyszukiwać elementy w dużej, posortowanej kolekcji danych. Który algorytm wyszukiwania zapewni najlepszą średnią wydajność (najniższą złożoność czasową)?

Opcje odpowiedzi:
A
Wyszukiwanie liniowe (sekwencyjne)
B
Wyszukiwanie binarne
Prawidłowa
C
Wyszukiwanie z wartownikiem
D
Wyszukiwanie interpolacyjne
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: B

Uzasadnienie i szersze wyjaśnienie:

Kluczową informacją w pytaniu jest to, że kolekcja danych jest posortowana. Ta cecha umożliwia zastosowanie znacznie wydajniejszych algorytmów niż proste przeszukiwanie liniowe.

  • Wyszukiwanie binarne to algorytm, który działa na zasadzie „dziel i zwyciężaj”. W każdym kroku porównuje szukany element z elementem środkowym w kolekcji. Jeśli szukany element jest mniejszy, odrzuca prawą połowę kolekcji; jeśli jest większy, odrzuca lewą. Dzięki temu w każdym kroku liczba elementów do przeszukania zmniejsza się o połowę. Złożoność czasowa tego algorytmu to O(log n), co jest niezwykle wydajne dla dużych zbiorów danych.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • A. Wyszukiwanie liniowe (sekwencyjne): Sprawdza każdy element po kolei. Jego złożoność to O(n). Dla dużej kolekcji jest to bardzo wolne i nie wykorzystuje faktu, że dane są posortowane.
  • C. Wyszukiwanie z wartownikiem: Jest to jedynie niewielka optymalizacja wyszukiwania liniowego. Jego złożoność wciąż wynosi O(n).
  • D. Wyszukiwanie interpolacyjne: Jest to wariant wyszukiwania binarnego, który może być jeszcze szybszy (średnia złożoność O(log log n)) pod warunkiem, że dane są równomiernie rozłożone. Jednak wyszukiwanie binarne ma lepszą gwarantowaną wydajność w najgorszym przypadku (O(log n) vs O(n) dla interpolacyjnego) i jest standardowym, najlepszym wyborem dla ogólnych, posortowanych danych.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Algorytmy sortowania i wyszukiwania”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 23 pytań z tego działu.