Какие знаешь алгоритмы поиска

Python Middle Без компании
Какие знаешь алгоритмы поиска
Ответы
В Python распространены несколько алгоритмов поиска: **Линейный поиск** Простейший алгоритм, перебирает элементы последовательно. ``` def linear_search(arr, target): for i, item in enumerate(arr): if item == target: return i return -1 ``` **Бинарный поиск** Работает на отсортированных массивах, делит пополам на каждом шаге. ``` 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 ``` **Поиск в хеш-таблицах (dict)** O(1) в среднем случае благодаря хешированию. Также существуют специализированные алгоритмы: - Интерполяционный поиск (для равномерно распределенных данных) - Поиск Фибоначчи (вариант бинарного) - Троичный поиск (для нахождения экстремумов) Выбор зависит от структуры данных и требований к скорости/памяти.