Back to questions
Junior — Middle
47
Объясните принцип работы алгоритма двоичного поиска и его основные стадии.
Answer from AI
sobes.tech AI
Алгоритм двоичного поиска применяется для поиска элемента в отсортированном массиве. Его принцип основан на последовательном делении области поиска пополам и сравнении искомого значения с элементом в середине текущего диапазона.
Основные стадии:
- Определить начальный диапазон — обычно это весь массив (левая и правая границы).
- Найти индекс среднего элемента диапазона.
- Сравнить искомое значение с элементом в середине:
- Если они равны, вернуть индекс найденного элемента.
- Если искомое меньше, сузить поиск к левой половине (сдвинуть правую границу).
- Если больше — к правой половине (сдвинуть левую границу).
- Повторять шаги 2-3, пока диапазон не станет пустым.
Пример на 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 # элемент не найден