Jump to content

Мультипликативный бинарный поиск

Мультипликативный бинарный поиск
Визуализация мультипликативного алгоритма двоичного поиска, где 7 — целевое значение.
Сорт Алгоритм поиска
Структура данных Множество
Худшая производительность О (логарифм n )
Лучшая производительность О (1)
Средняя производительность О (логарифм n )
Наихудшая пространственная сложность О (1)
Оптимальный Да

В информатике мультипликативный бинарный поиск является разновидностьюдвоичного поиска , который использует определенную перестановку ключей в массиве вместо отсортированного порядка, используемого в обычном двоичном поиске.поиск. [1] Мультипликативный бинарный поиск был впервые описан Томасом Стэндишем в 1980 году.Первоначально этот алгоритм был предложен для упрощения расчета индекса средней точки на небольших компьютерах без эффективных операций деления или сдвига.На современном оборудовании дружественный к кэшу характер мультипликативного двоичного поиска делает его пригодным для вне ядра поиска в блочно-ориентированном хранилище в качестве альтернативы B-деревьям и B+-деревьям . Для оптимальной производительности коэффициент ветвления B-дерева или B+-дерева должен соответствовать размеру блока файловой системы , в которой оно хранится. Перестановка, используемая мультипликативным двоичным поиском, помещает оптимальное количество ключей в первый ( корневой ) блок независимо от размера блока.

Мультипликативный двоичный поиск используется некоторыми оптимизирующими компиляторами для реализации операторов переключения . [2] [3]

Алгоритм

[ редактировать ]

Мультипликативный двоичный поиск работает с перестановочным отсортированным массивом. Ключи хранятся в массиве в последовательности уровня соответствующего сбалансированного двоичного дерева поиска .Это помещает первую опорную точку двоичного поиска в качестве первого элемента массива. Вторые шарниры размещаются в следующих двух позициях.

Учитывая массив A из n элементов со значениями A 0 ... An 1 и целевым значением T , следующая подпрограмма чтобы найти индекс T в A. использует мультипликативный бинарный поиск ,

  1. Установите я на 0
  2. если i n , поиск завершается безуспешно.
  3. если A i = T , поиск завершен; вернуть я .
  4. если A i < T , установите i равным 2× i + 1 и перейдите к шагу 2.
  5. если A i > T , установите i равным 2× i + 2 и перейдите к шагу 2.

См. также

[ редактировать ]
  1. ^ Стэндиш, Томас А. (1980). «Глава 4.2.2: Упорядоченный поиск по таблице». Методы структурирования данных . Аддисон-Уэсли. стр. 136–141 . ISBN  978-0201072563 .
  2. ^ Сэйл, Роджер А. (17 июня 2008 г.). «Анализ супероптимизатора генерации кода многопутевого ветвления» (PDF) . Материалы саммита разработчиков GCC : 103–116 . Проверено 4 марта 2017 г.
  3. ^ Спулер, Дэвид А. (январь 1994 г.). Генерация кода компилятора для операторов многопутевого ветвления как задача статического поиска (технический отчет). Департамент компьютерных наук, Университет Джеймса Кука, Австралия. 94/03.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f497e6c1808eca7c0a7e856eec25f949__1690255380
URL1:https://arc.ask3.ru/arc/aa/f4/49/f497e6c1808eca7c0a7e856eec25f949.html
Заголовок, (Title) документа по адресу, URL1:
Multiplicative binary search - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)