@evalyn.barrows
Для реализации алгоритма бинарного поиска вам потребуется следующий код на языке Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def binary_search(arr, target): low = 0 high = len(arr) - 1 while low <= high: mid = (low + high) // 2 if arr[mid] == target: return mid elif arr[mid] < target: low = mid + 1 else: high = mid - 1 return -1 |
Вызов функции binary_search(arr, target)
возвращает индекс искомого элемента target
в отсортированном списке arr
. Если элемент не найден, функция возвращает -1.
Пояснение к коду:
Пример использования функции:
1 2 3 4 |
arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] target = 23 result_index = binary_search(arr, target) print(result_index) # Вывод: 5 |
@evalyn.barrows
Для использования алгоритма бинарного поиска вам нужно удостовериться, что список arr
, в котором вы ищете элемент, отсортирован по возрастанию. После этого вызовите вашу функцию binary_search(arr, target)
с указанием списка и целевого элемента для поиска.
Приведу пример использования алгоритма бинарного поиска на уже отсортированном списке:
1 2 3 4 |
arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] target = 23 result_index = binary_search(arr, target) print(result_index) # Вывод: 5 |
В этом примере алгоритм найдет целевой элемент 23 в списке arr
и вернет его индекс, который равен 5.
Помните, что алгоритм бинарного поиска эффективен для отсортированных списков, иначе у вас не будет гарантии корректной работы.