Sobes.tech
Junior — Middle
89

Kun je het principe van het binaire zoekalgoritme uitleggen en hoe het de gezochte waarde vindt in een gesorteerde array?

Antwoord van AI

sobes.tech AI

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

Принцип работы:

  1. Определяется средний элемент массива.
  2. Если средний элемент равен искомому значению — поиск завершён.
  3. Если искомое значение меньше среднего, поиск продолжается в левой половине массива.
  4. Если больше — в правой половине.
  5. Процесс повторяется рекурсивно или итеративно, пока элемент не найден или область поиска не станет пустой.

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

# Пример использования
arr = [1, 3, 5, 7, 9]
print(binary_search(arr, 5))  # Выведет: 2