2012-03-05 3 views
1

Можно ли теоретически преобразовать любое дерево в R-дерево? Например, допустим, у меня есть дерево узлов, каждое из которых характеризуется идентификаторами, значениями и функциями N. Имеет ли смысл преобразовать это в (N + 2) мерное R-дерево? Как это повлияет на время поиска и размер дерева на диске? Что произойдет, если количество элементов не является постоянным для каждого узла?Может ли любое дерево быть преобразовано в R-дерево?

+2

Возможно, это относится к cstheory.stackexchange.com – geoffspear

ответ

1

Если дерево не сбалансирован, или не имеет контролируемый разветвление, он не будет надлежащим R-дерева.

Конечно, вы можете вычислить MBR, и он станет «деревом вложенных прямоугольников». Но для R-дерева больше, чем для использования прямоугольников; ключевой точкой R-дерева должно быть сбалансировано.

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

Вы действительно должны рассмотреть запросы, которые вы хотите сделать. Любой индекс должен соответствовать вашим запросам, а не только вашим данным!

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