Wyszukiwanie binarne w posortowanej liście

Algorytmy na listach - Podstawy Pythona (Python)

Wyszukiwanie binarne dziala TYLKO na liscie POSORTOWANEJ. Sprawdzamy srodek i polowimy zakres - duzo szybsze niz liniowe dla duzych list.

numbers = [1, 3, 5, 7, 9, 11]       # wyszukiwanie binarne dziala TYLKO na posortowanej
target = 7
lo, hi = 0, len(numbers) - 1
result = -1
while lo <= hi:
  mid = (lo + hi) // 2            # sprawdzamy srodek i polowimy zakres
  if numbers[mid] == target:
    result = mid
    break
  elif numbers[mid] < target:
    lo = mid + 1
  else:
    hi = mid - 1
print(result)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Pythona · Zaloguj się, aby zapisać postęp na koncie.