Jump to content

Структура рабочего набора Яконо

Структура данных рабочего набора Яконо
Изобретенный 2001
Изобретён Джон Яконо
Асимптотическая сложность
в большой записи О
Космос На )
Поиск О (журнал w(x) )
Вставлять О ( войти )
Удалить О ( войти )

В информатике структура рабочего набора Яконо. [ 1 ] основанный на сравнении словарь, . Он поддерживает операции вставки, удаления и доступа для поддержания динамического набора элементы. Рабочий набор элемента — это набор элементов, к которым осуществлялся доступ в структуре с момента последнего использования был доступен (или вставлен, если к нему никогда не обращались). Вставка и удаление в структуре рабочего набора занимает время при доступе к элементу берет . Здесь, представляет размер рабочего набора .

Структура

[ редактировать ]
Пример поиска по в структуре рабочего набора. После нахождения , он удален из и вставлен в . Наконец, выполняется сдвиг от 1 к 4, при котором элемент удаляется из и вставлен в для .

Чтобы сохранить динамический набор элементы, эта структура состоит из серии красно-черных деревьев или других самобалансирующихся бинарных деревьев поиска. и серия деков (двусторонние очереди) , где . Для каждого , дерево и поэтому имеют одинаковое содержимое, и между соответствующими элементами сохраняются указатели. Для каждого , размер и является . Дерево и поэтому состоят из остальных элементов, т. е. их размер равен . Таким образом, количество элементов во всех деревьях и количество элементов во всех деках в сумме составляют . Каждый элемент, вставленный в структуру данных, сохраняется ровно в одном из деревьев и соответствующем ему деке.

Рабочий набор Инвариант

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

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

Операции

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

Основная операция в этой структуре называется сдвигом от к , где и являются индексами некоторых деревьев в структуре. Два дела рассматриваются в порядке перехода от к : Если , то для каждого , взятый в порядке возрастания, элемент выводится из очереди и поставлен в очередь . Соответствующий элемент удален из и вставлен в . Время выполнения этой операции . Аналогично, если , то для каждого , взятый в порядке убывания, элемент выводится из очереди и поставлен в очередь . Соответствующий элемент удален из и вставлен в . Время выполнения этой операции . В любом случае, после смены размер уменьшается на единицу, тогда как размер увеличивается на единицу. Поскольку элементы в деках сортируются по размерам их рабочих наборов, операция сдвига сохраняет рабочий набор инвариантным.

Чтобы найти элемент , искать в , в порядке возрастания, пока не будет найдено дерево содержащий . Если дерево не найдено, поиск не увенчался успехом. Если найден, он удаляется из а затем вставил в , т. е. он перемещается к передней части конструкции. Поиск завершается переходом от к который восстанавливает размер каждого дерева и каждой деки до их размера до операции поиска. Время выполнения этого поиска если поиск был успешным, или в противном случае. По свойству Рабочее множество каждый элемент в деревьях принадлежит рабочему множеству . В частности, каждый элемент в принадлежит рабочему множеству и, следовательно, . Таким образом, время успешного поиска равно .

Вставлять

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

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

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

Обсуждение

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

Деревья Splay — это самонастраивающиеся деревья поиска, представленные Sleator и Tarjan. [ 2 ] в 1985 году. Используя эвристику реструктуризации, деревья расширения могут выполнять операции вставки и удаления в амортизированное время, без хранения какой-либо информации о балансе на узлах. Более того, теорема о рабочем наборе для расширенных деревьев утверждает, что стоимость доступа к элементу в расширенном дереве равна амортизируется . Структура рабочего набора Iacono обеспечивает одинаковое время поиска, вставки и удаления в худшем случае. Поэтому предлагаем альтернативу раскидистым деревьям.

  1. ^ Яконо, Джон (2001). «Альтернативы для расширения деревьев со временем доступа O (log n) в худшем случае» (PDF) . Материалы двенадцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам : 516–522.
  2. ^ Слитор, Дэниел Д.; Тарьян, Роберт Э. (1985), «Саморегулирующиеся бинарные деревья поиска» (PDF) , Журнал ACM , 32 (3): 652–686, doi : 10.1145/3828.3835
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 995cfe4a75592ebf29a5f9ca99257fa1__1616281200
URL1:https://arc.ask3.ru/arc/aa/99/a1/995cfe4a75592ebf29a5f9ca99257fa1.html
Заголовок, (Title) документа по адресу, URL1:
Iacono's working set structure - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)