Interpolation Search — Визуализатор алгоритмов

Шаг 1:Uniformly distributed sorted array. Searching for target: 70

Interpolation Search

Средний
Временная сложность
O(n²)O(n log n)O(n)O(log n)O(1)n →
Лучший: O(1)
Средний: O(log log n)
Худший: O(n)

Интерполяционный поиск — это улучшенная разновидность бинарного поиска (Binary Search), предназначенная для отсортированных данных с равномерным распределением. Вместо того чтобы всегда переходить к середине массива, он оценивает позицию искомого элемента на основе его значения.

Как работает:

1. Оценивает позицию: pos = low + ((target - arr[low]) × (high - low)) / (arr[high] - arr[low])
2. Если arr[pos] равно искомому значению, возвращает pos
3. Если arr[pos] < target, выполняет поиск в правой части
4. Если arr[pos] > target, выполняет поиск в левой части

Временная сложность:

Лучшая: O(1)
Средняя: O(log log n) — при равномерном распределении
Худшая: O(n) — при неравномерном распределении

Пространственная сложность: O(1)

Свойства:

  • Требует отсортированного массива
  • Лучше всего подходит для равномерно распределённых данных
  • Может замедляться до O(n) при неравномерном распределении

Интерполяционный поиск может быть значительно быстрее бинарного поиска, если данные распределены равномерно, поскольку он точнее оценивает возможное положение искомого элемента.

Похожие алгоритмы

Частые вопросы

Что такое Интерполяционный поиск (Interpolation Search)?
Интерполяционный поиск — это улучшенная разновидность бинарного поиска (Binary Search), предназначенная для отсортированных данных с равномерным распределением. Вместо того чтобы всегда переходить к середине массива, он оценивает позицию искомого элемента на основе его значения.
Какова сложность Интерполяционный поиск (Interpolation Search)?
Время (среднее): O(log log n) — при равномерном распределении · Память: O(1)
Для кого предназначена визуализация Интерполяционный поиск (Interpolation Search)?
Визуализация Интерполяционный поиск (Interpolation Search) рассчитана на средний уровень в категории «Поиск». Полезна для студентов, подготовки к собеседованиям и практического изучения.
Какие алгоритмы связаны с Интерполяционный поиск (Interpolation Search)?
В той же категории (Поиск) вы можете изучить: Binary Search, Linear Search, Jump Search. Каждый из них имеет интерактивную визуализацию.