Python

Бинарный поиск. Алгоритм.

Напишите программу алгоритма бинарного поиска на Паскале или Питоне. Буду очень благодарна <3
Бинарного поиска чего? Поиск бисекцией значения в отсортированном массиве и поиск бисекцией корня уравнения - это два разных алгоритма.
Александр Пальчиков
Александр Пальчиков
51 953
Лучший ответ
https://pythonist.ru/algoritmy-poiska-na-python/
Первая ссылка в поисковой системе
Мария Грин
Мария Грин
7 458
Конечно, вот пример кода на Python:

```python
def binary_search(array, target):
"""
Функция для бинарного поиска элемента в отсортированном массиве.

:param array: Отсортированный массив
:param target: Искомый элемент
:return: Индекс искомого элемента или None, если элемент не найден
"""
left = 0 # Индекс левой границы массива
right = len(array) - 1 # Индекс правой границы массива

while left <= right:
middle = (left + right) // 2 # Индекс среднего элемента массива
if array[middle] == target: # Если искомый элемент найден
return middle
elif array[middle] < target: # Если искомый элемент больше среднего
left = middle + 1 # Сдвигаем левую границу
else: # Если искомый элемент меньше среднего
right = middle - 1 # Сдвигаем правую границу

return None # Если элемент не найден
```

Эта функция принимает отсортированный массив и искомый элемент, и возвращает индекс искомого элемента в массиве, если он был найден. Если элемент не найден, функция возвращает значение None.

Алгоритм бинарного поиска заключается в том, что на каждой итерации алгоритма находится средний элемент массива. Затем искомый элемент сравнивается со средним элементом. Если они равны, то элемент найден и его индекс возвращается из функции. Если искомый элемент больше среднего, то поиск продолжается в правой половине массива. Если искомый элемент меньше среднего, то поиск продолжается в левой половине массива. Поиск продолжается до тех пор, пока не будет найден элемент или пока не будет исчерпан весь массив.
Ирина Орлова
Ирина Орлова
6 433