2013-10-25 8 views
0

У меня проблемы с пониманием операции разделения квадрантов. Скажем, максимальное количество элементов, которые может удерживать узел, равно 2; когда мы добавляем третий элемент, мы создаем четыре под-узла. Вопрос в том, содержит ли родительский узел свои 2 элемента, а тот, кто вызвал переполнение, вставлен в дочерний узел или все три узла вставлены в под-узлы?Работа с четырьмя квадрантами

ответ

0

Все три узла вставлены в дочерний узел. Только узел листьев может хранить некоторые данные в дереве.

Это может изменить ситуацию, например, скажем, kd-tree, где пространственный раздел больше ориентирован на данные вместо фиксированного разделения пространства, что позволяет сэкономить память. С другой стороны, разделы с фиксированным пространством легче обрабатывать и даже могут быть предварительно вычислены для еще более быстрого доступа.

+0

Спасибо! Но что удерживает родительский узел, если все три вставляются вниз по дереву? – saadtaame

+0

Родительский узел (как любой промежуточный узел) содержит указатели (или эквивалент) для своих 4 детей. Вы знаете, что вы можете получить доступ к данным, если узел не больше детей. – sansuiso

+0

Фактически, статья Википедии о квадрантах имеет псевдокод, который использует внутренние узлы для хранения. Когда узел переполняется, элемент переполнения вставляется в поднод. – saadtaame

Смежные вопросы