Jump to content

КД куча

(Перенаправлено с KD Heap )
Двумерная куча из 20 элементов.

Куча КД [1] — это структура данных в информатике , которая реализует многомерную очередь приоритетов , не требуя дополнительного места. Это обобщение Heap . [2] Он позволяет эффективно вставлять, запрашивать минимальный элемент и удалять минимальный элемент в любом из k измерений и, следовательно, включает двустороннюю кучу как особый случай.

Структура

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

Дан набор из n предметов, каждый из которых имеет ключей (или приоритетов), куча KD организует их в двоичное дерево , которое удовлетворяет двум условиям:

  • Это полное двоичное дерево , что означает, что оно заполнено, за исключением, возможно, последнего слоя, где оно должно быть заполнено слева.
  • Он удовлетворяет порядку кучи kd.

Свойство порядка кучи kd аналогично свойству кучи для обычных куч. Куча поддерживает порядок кучи kd, если:

  • Узел в корне имеет наименьшее 1-е свойство всего дерева, и
  • Любой другой узел v, не являющийся корнем, таков, что если его родительский элемент w имеет наименьшее i-е свойство поддерева, корнем которого является родительский узел, то v имеет наименьшее i-е свойство поддерева, корнем которого является родительский узел. -е свойство всего поддерева с корнем v.

Одним из следствий этой структуры является то, что наименьший 1-й элемент свойства тривиально будет находиться в корне, и, более того, все наименьшие i -ые элементы свойства для каждого i будут находиться на первых k уровнях.

Операции

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

Создание кучи KD из n элементов занимает время O(n) . Поддерживаются следующие операции:

  • Вставьте новый элемент за время O(log n)
  • Получить элемент с минимальным ключом в любом из измерений за постоянное время.
  • Удалить элемент с минимальным ключом в любом измерении за время O(log n)
  • Удалить или изменить произвольный элемент в куче за время O(log n), предполагая, что его положение в куче известно.

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

  1. ^ Дин Ю., Вайс М.А. (1993) Куча K -D: эффективная многомерная очередь с приоритетами. В: Дене Ф., Сак-младший, Санторо Н., Уайтсайдс С. (ред.) Алгоритмы и структуры данных. WADS 1993. Конспекты лекций по информатике, том 709. Springer, Берлин, Гейдельберг.
  2. ^ Расширенные структуры данных, Питер Брасс, ISBN   978-0-521-88037-4 , стр. 270
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fae0d108249f6a8b292eb9dea1fee0ca__1646982720
URL1:https://arc.ask3.ru/arc/aa/fa/ca/fae0d108249f6a8b292eb9dea1fee0ca.html
Заголовок, (Title) документа по адресу, URL1:
K-D heap - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)