workshophub563992

Walking through binary search

Nov 4th, 2026
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. Walking through binary search
  2.  
  3. В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.
  4.  
  5. Задача
  6.  
  7. Дан отсортированный список чисел arr и число target. Найти его индекс или вернуть -1, если элемента нет.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def binary_search(arr: list[int], target: int) -> int:
  13. lo, hi = 0, len(arr) - 1
  14. while lo <= hi:
  15. mid = (lo + hi) // 2
  16. if arr[mid] == target:
  17. return mid
  18. if arr[mid] < target:
  19. lo = mid + 1
  20. else:
  21. hi = mid - 1
  22. return -1
  23.  
  24. print(binary_search([1, 3, 5, 7, 9, 11], 7))
  25. `
  26.  
  27. Как это работает
  28.  
  29. На каждом шаге диапазон поиска сокращается вдвое: если середина меньше цели — ищем справа, иначе слева. Отсюда и логарифмическая скорость.
  30.  
  31. Пример работы
  32.  
  33. `text
  34. 3
  35. ``
  36.  
  37. Сложность
  38.  
  39. O(log n) по времени, O(1) по памяти.
  40.  
  41. Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.
  42.  
  43. View Full Gallery → https://go.cbrop.com/prse
  44.  
  45. Related:
  46.  
  47. https://montage68581.mataroa.blog/blog/9b7-dd-63f/
  48. https://rentry.org/gcd-tests-742256
  49. https://yakihonne.com/article/naddr1qvzqqqr4gupzqn39nqppr3n9fuk4s7qkvs4f8x5lrhsjpn0mw265jv8lgecjnaeaqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkgdr9xvmkgd3n943kzctp956rxceh95urwdmp94nrxe3cvg6k2ef5xs6rza2mx54
  50. https://pastebin.com/UfHT58WX
  51. https://workshop-hub.gitbook.io/workshop-hub-docs-1/razbiraem-zadachu-vychislenie-faktoriala
  52.  
Advertisement
Add Comment
Please, Sign In to add comment