Должен ли максимальный элемент дерева Ван Эмде Боаса храниться вне дерева? - PullRequest
3 голосов
/ 17 декабря 2011

Разве нам не нужно рассматривать элемент max аналогично элементу min?Почему мы можем иметь эту асимметрию и все еще выполнять операции в 0 (loglogN) времени?Элемент max распространяется вниз по дереву, а min - нет ... Возможно ли в обратном случае иметь время для операций?

Я нашел здесь: http://code.google.com/p/libveb/wiki/Intro, что нам нужно сохранить его, потому что sqrt элемента является трудоемкой операцией.Но я думаю, что есть что-то еще.

Ответы [ 2 ]

3 голосов
/ 25 марта 2013

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

Мы храним элемент min вне дерева, так как его присутствие говорит о том, что эта конкретная структура непуста, что не позволяет нам сделать ненужный рекурсивный вызов для проверки пустоты и делает вставку в пустое дерево операцией O (1), т.е. просто установите минимальный элемент. Нам нужны элементы max и min вне дерева для операций преемника и предшественника.

Это довольно хорошо объясняется в заметках к лекциям Эрика Демейна (ссылка предоставлена ​​templatetypedef).

Я считаю, что должна быть возможность сохранить любой из элементов min / max снаружи без распространения и при этом поддерживать время O (log log u) для каждой операции, поскольку мы делаем это просто для того, чтобы узнать, не является ли структура непустой. Удержание их обоих и их размножение излишне и не даст вам дополнительного времени.

1 голос
/ 05 февраля 2012

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

Есть ли какой-то конкретный источник, который вы видели, который говорит об обратном? Все заметки о VEB-деревьях, которые я видел, описывают хранение как максимальных, так и минимальных значений. См

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...