Junior — Middle
83
Explica principiul de funcționare al algoritmului de căutare binară și în ce cazuri este utilizat.
Răspuns de la AI
sobes.tech AI
Алгоритм бинарного поиска работает на отсортированном массиве или списке. Идея в том, чтобы каждый раз делить область поиска пополам и сравнивать искомый элемент с элементом в середине. Если искомый элемент меньше среднего, поиск продолжается в левой половине, если больше — в правой. Так повторяется, пока элемент не найден или область поиска не станет пустой.
Используют бинарный поиск, когда нужно быстро найти элемент в отсортированной структуре данных. Его сложность — O(log n), что намного эффективнее линейного поиска для больших массивов.
Пример на 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, 7)) # Выведет 3