Sobes.tech
Back to questions
Junior — Middle
72

Объясните принцип работы алгоритма бинарного поиска и его основные шаги.

Answer from AI

sobes.tech AI

Бинарный поиск — это эффективный алгоритм поиска элемента в отсортированном массиве. Его принцип заключается в последовательном делении области поиска пополам и сравнении искомого значения с элементом в середине.

Основные шаги:

  1. Определить начальные границы поиска: левый и правый индексы.
  2. Найти средний индекс: mid = (left + right) // 2.
  3. Сравнить искомое значение с элементом в mid.
    • Если они равны, вернуть индекс mid.
    • Если искомое меньше, сдвинуть правую границу на mid - 1.
    • Если больше, сдвинуть левую границу на mid + 1.
  4. Повторять шаги 2-3, пока левая граница не превысит правую.

Если элемент не найден, вернуть, например, -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