galg.py 517 B

12345678910111213141516171819
  1. # Бинарный поиск
  2. # Этот алгорит работает только с отсортированными массивами
  3. def binary_search(list, item):
  4. low = 0
  5. high = len(list) - 1
  6. while low <= high:
  7. mid = (low + high)//2
  8. guess = list[mid]
  9. if guess == item:
  10. return mid
  11. if guess > item:
  12. high = mid - 1
  13. else:
  14. low = mid + 1
  15. return None
  16. print(binary_search([1,3,5,7,9,10,14,16,18], 16))