Junior — Middle
91
Kannst du das Funktionsprinzip des binären Suchalgorithmus erklären und wie er den gesuchten Wert in einem sortierten Array findet?
Antwort von AI
sobes.tech KI
Алгоритм двоичного поиска работает только с отсортированным массивом и позволяет быстро найти искомое значение, уменьшая область поиска вдвое на каждом шаге.
Принцип работы:
- Определяется средний элемент массива.
- Если средний элемент равен искомому значению — поиск завершён.
- Если искомое значение меньше среднего, поиск продолжается в левой половине массива.
- Если больше — в правой половине.
- Процесс повторяется рекурсивно или итеративно, пока элемент не найден или область поиска не станет пустой.
Пример на 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