ИНТЕРПОЛЯЦИОННЫЙ ПОИСК PYTHON
Интерполяционный поиск - это алгоритм поиска элемента в отсортированном массиве, который использует интерполяцию для определения примерного места нахождения элемента. В отличие от бинарного поиска, который делит массив на две части, интерполяционный поиск делит его пропорционально расстоянию между искомым значением и крайним значениями в массиве.
Алгоритм работает за время O(log log n), когда элемент находится в массиве в рамках ограниченного диапазона значений. Также он может выдавать неверный результат при неотсортированном или неправильно отсортированном массиве.
В Python интерполяционный поиск может быть реализован следующим образом:
def interpolation_search(arr, x): low = 0 high = len(arr) - 1 while low <= high and arr[low] <= x <= arr[high]: pos = low + ((x - arr[low]) * (high - low)) // (arr[high] - arr[low]) if arr[pos] == x: return pos if arr[pos] < x: low = pos + 1 else: high = pos - 1 return -1
Здесь arr
- отсортированный массив, а x
- искомый элемент. Функция возвращает индекс элемента в массиве, если он найден, иначе -1.
Как собрать досье - пробив данных - информация о человеке
Алгоритм интерполяционного поиска. Interpolation search algorithm. Python
Интерполяция в Python
Алгоритм линейного поиска. Linear search algorithm. Python
Просто о сложном: Бинарный поиск
Алгоритм бинарного поиска. Binary search algorithm. Python
Алгоритмы. Интерполяционный поиск. Реализация на Python и Java.
5 способов поиска элемента в списке python (питон)
Новые материалы:
- If else в генераторе списков python
- Машинное обучение python
- Invalid syntax python ошибка pip
- Не устанавливается python на windows 10
- Антивирус на python
- Метод k ближайших соседей python
- Метод гомори python
- Иерархическая кластеризация python
- Django видеокурс скачать
- Python функции атрибуты
- Как сохранить модель машинного обучения python
- Python размер переменной