TGViewer
Python вопросы с собеседований Python вопросы с собеседований @python_job_interview · 24.9K subscribers
Post #1315 2.69K
🔥Python: САМЫЙ ЭФФЕКТИВНЫЙ АЛГОРИТМ ДЛЯ ПОИСКА

Нет «одного» идеального алгоритма на все случаи жизни, но для поиска по отсортированным данным классика — бинарный поиск с сложностью О лог н.

Вместо того чтобы проходить весь список по очереди, он каждый раз делит диапазон пополам и быстро сужает область поиска.

Главное правило: если можешь отсортировать данные и потом искать — почти всегда лучше использовать бинарный поиск, а не линейный проход.


nums = [1, 4, 7, 9, 15, 20, 33, 42]

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return True
if arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return False

print(binary_search(nums, 33))
print(binary_search(nums, 100))
  • ❤ 8
  • 🔥 2
  • 👍 1
More from @python_job_interview
  1. Sep 22, 2026Как правильно получить случайное число в Python Если нужен диапазон от 1 до 100 включитель…
  2. Sep 19, 2026✔️ Кто подключился к вашей сети? NetAlertX обнаруживает устройства и уведомляет об изменен…
  3. Sep 18, 2026✔️ QuiverAI выпустила обновление генератора векторной графики Во второе поколение семейств…
  4. Sep 17, 2026📚 Бесплатная книга по математике для Computer Science и Machine Learning - более 2200 стр…
  5. Sep 15, 2026🐍 Python: как найти изменённое поле во вложенном словаре Сравнение before == after покаже…
  6. Sep 15, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →