Встречается на собеседованиях • сегодня
Расскажи про алгоритм двоичного поиска
Двоичный поиск — это эффективный алгоритм поиска элемента в отсортированном массиве. Он работает за O(log n), так как на каждом шаге делит диапазон поиска пополам.
Алгоритм:
- Определяем границы (начало и конец массива).
- Находим середину текущего диапазона.
- Сравниваем элемент в середине с искомым:
- Если равен — возвращаем индекс.
- Если меньше — смещаем левую границу.
- Если больше — смещаем правую границу.
- Повторяем, пока границы не сойдутся.
Пример на Python:
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 # Элемент не найденОсобенности:
- Работает только с отсортированными данными.
- Эффективнее линейного поиска (O(n) vs O(log n)).
- Подходит для больших массивов.
- Может быть реализован рекурсивно (но итеративный вариант предпочтительнее из-за отсутствия накладных расходов на вызовы).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы