pb62196676

Exploring binary search

Nov 6th, 2026
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. Exploring 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://discuss.tchncs.de/post/65439717
  48. https://pastebin.com/JHWDDZf8
  49. https://secure.linkcentre.com/status/1736362/?from=submit
  50. https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2PLaopQPPWfXYQviqBpV3Rp8XrCG/issues/e3accd44732666c44bed874ad3301e43282986f1
  51. https://posts.workshop-hub.workers.dev/bubble-sort-dva-sposoba
  52.  
Advertisement
Add Comment
Please, Sign In to add comment