Jump to content

Проблема предшественника

В информатике проблема предшественника включает в себя поддержание набора по заданному элементу, элементов для эффективного запроса какой элемент предшествует или следует за этим элементом в порядке. Структуры данных , используемые для решения проблемы, включают сбалансированные двоичные деревья поиска , деревья Ван Эмде Боаса и деревья слияния . В задаче статического предшественника набор элементов не меняется, но в задаче динамического предшественника допускаются вставки в набор и удаления из него. [ 1 ]

Проблема предшественника — это простой случай проблемы ближайшего соседа , и структуры данных, которые ее решают, находят применение в таких задачах, как сортировка целых чисел .

Определение

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

Проблема состоит в поддержании набора S , который содержит подмножество U целых чисел. Каждое из этих целых чисел может храниться с слова размером w , подразумевая, что . Структуры данных, решающие задачу, поддерживают следующие операции: [ 2 ]

  • predecessor(x), который возвращает наибольший элемент в S, меньший или равный x
  • successor(x), который возвращает наименьший элемент в S, больший или равный x

Кроме того, структуры данных, решающие динамическую версию задачи, также поддерживают следующие операции:

  • insert(x), который добавляет x в множество S
  • delete(x), который удаляет x из множества S

Проблема обычно анализируется в трансдихотомической модели вычислений, такой как словесное ОЗУ .

Структуры данных

[ редактировать ]
Бинарное дерево с 4 уровнями. Узлы на каждом уровне: 3: (), 2: (0) и (1), 1: (00) и (10), 0: (001), (100) и (101). Немаркированный узел является корнем. Между следующими узлами есть направленные ребра: ()->(0), ()->(1), (0)->(00), (0)->(001) синим цветом, (1)-> (10), (1)->(101) синим цветом, (00)->(001) дважды, один раз синим цветом, (10)->(100), (10)->(101), (001)<->(100), (100)<->(101). Узлы на каждом уровне содержатся в поле, помеченном LSS(<уровень>).
X-быстрое дерево, содержащее целые числа 1 (001 2 ), 4 (100 2 ) и 5 ​​(101 2 ), которое можно использовать для эффективного решения проблемы предшественника.

Одним из простых решений этой проблемы является использование сбалансированного двоичного дерева поиска , которое обеспечивает (в нотации Big O ) работы время для запросов-предшественников. Дерево Ван Эмде Боаса обеспечивает время запроса , но требует космос . [ 1 ] Дэн Уиллард предложил улучшить использование пространства с помощью x-fast trie , для которого требуется пространство и то же время запроса, а также более сложный y-fast trie , для которого требуется только космос. [ 3 ] Деревья слияния , представленные Майклом Фредманом и Уиллардом, достигают время запроса и для запросов-предшественников статической проблемы. [ 4 ] Динамическая задача решена с использованием экспоненциальных деревьев с время запроса, [ 5 ] и с ожидаемым временем с помощью хеширования . [ 6 ]

Математические свойства

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

Был ряд статей, доказывающих нижние оценки проблемы-предшественника или определяющих, каким время выполнения асимптотически оптимальных будет решений. Например, Майкл Бим и Фейт Эллен доказали, что всех значений w n существует значение для со временем запроса (в нотации Big Theta ). , и аналогично, для всех значений n существует значение n такое, что время запроса равно . [ 1 ] Другие доказательства нижних оценок включают понятие сложности связи .

Для задачи статического предшественника Михай Патрашку и Миккель Торуп показали следующую нижнюю оценку оптимального времени поиска в модели ячейки-зонда : [ 7 ] где ОЗУ имеет разрядность , набор содержит целые числа бит каждый и представлен в ОЗУ с помощью слова пространства и определения .

В случае, когда для и , оптимальное время поиска и дерево Ван Эмде Боаса достигает этой границы. [ 7 ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с Бим, Пол; Фич, Вера (август 2002 г.). «Оптимальные границы проблемы предшественника и связанных с ней проблем» . Журнал компьютерных и системных наук . 65 (1): 38–72. дои : 10.1006/jcss.2002.1822 . S2CID   1991980 .
  2. ^ Рахман, Наиля; Коул, Ричард; Раман, Раджив (17 августа 2001 г.). Оптимизированные структуры данных предшественников для внутренней памяти (PDF) . Международный семинар по алгоритмической разработке. стр. 67–78.
  3. ^ Уиллард, Дэн (24 августа 1983 г.). «Лог-логарифмические запросы диапазона наихудшего случая возможны в пространстве Θ (n)». Письма об обработке информации . 17 (2): 81–84. дои : 10.1016/0020-0190(83)90075-3 .
  4. ^ Фредман, Майкл ; Уиллард, Дэн (1990). «Прорыв через теоретический информационный барьер с помощью термоядерных деревьев». Симпозиум по теории вычислений : 1–7.
  5. ^ Андерссон, Арне; Торуп, Миккель (2007), «Динамические упорядоченные множества с экспоненциальными деревьями поиска», Журнал ACM , 54 (3): A13, arXiv : cs/0210006 , doi : 10.1145/1236457.1236460 , MR   2314255 , S2CID   8175703 .
  6. ^ Раман, Раджив (1996), «Очереди с приоритетами: маленькие, монотонные и трансдихотомические», Четвертый ежегодный европейский симпозиум по алгоритмам (ESA '96), Барселона, Испания, 25–27 сентября 1996 г. , Конспекты лекций по информатике, том . 1136, Берлин: Springer-Verlag, стр. 121–137, doi : 10.1007/3-540-61680-2_51 , ISBN.  978-3-540-61680-1 , МР   1469229 .
  7. ^ Перейти обратно: а б Патрашку, Михай; Торуп, Миккель (21 мая 2006 г.). «Компромисс во времени и пространстве для поиска предшественников». Материалы тридцать восьмого ежегодного симпозиума ACM по теории вычислений . стр. 232–240. arXiv : cs/0603043 . дои : 10.1145/1132516.1132551 . ISBN  1595931341 . S2CID   1232 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9fe7c57f1837afba60bd67b9dab72524__1691498880
URL1:https://arc.ask3.ru/arc/aa/9f/24/9fe7c57f1837afba60bd67b9dab72524.html
Заголовок, (Title) документа по адресу, URL1:
Predecessor problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)