Расскажи принцип работы двоичного поиска

Python Junior Без компании
Расскажи принцип работы двоичного поиска
Ответы
Двоичный поиск — это алгоритм поиска элемента в отсортированном массиве, который работает за время O(log n). Он делит массив пополам, сравнивает искомый элемент с центральным, и в зависимости от результата продолжает поиск в левой или правой половине. **Алгоритм:** - Находим середину массива. - Если элемент в середине равен искомому — возвращаем индекс. - Если элемент меньше искомого — повторяем поиск в правой половине. - Если элемент больше — в левой. - Если границы сходятся, а элемент не найден — возвращаем -1. **Пример на Python:** ``` def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1 ``` **Особенности:** - Работает только с отсортированными массивами. - Эффективен для больших данных. - Может быть реализован рекурсивно или итеративно.