Встречается на собеседованиях • сегодня

Опиши алгоритм двоичного поиска

Двоичный (бинарный) поиск — эффективный алгоритм поиска элемента в отсортированном массиве. Работает за O(log n).

Алгоритм:

  1. Находим середину массива.
  2. Сравниваем искомый элемент с элементом в середине.
  3. Если элемент равен — возвращаем индекс.
  4. Если элемент меньше — ищем в левой половине.
  5. Если элемент больше — ищем в правой половине.
  6. Повторяем, пока границы не схлопнутся.

Пример на 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  # Элемент не найден

Нюансы:

  • Массив должен быть отсортирован.
  • Важно правильно обрабатывать границы (left <= right или left < right).
  • Возможны варианты с рекурсией, но итеративный подход предпочтительнее из-за отсутствия накладных расходов на вызовы.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы