R + tree - это метод поиска данных с использованием местоположения, часто (x, y) координат и часто местоположений на поверхность земли. Поиск по одному номеру - решаемая проблема; поиск по двум или более и запрос местоположений, которые находятся поблизости в обоих направлениях x и y, требует более хитрых алгоритмов.
По сути, дерево R + - это древовидная структура данных, вариант R-дерева, используемая для индексации пространственной информации.
Деревья R + - это компромисс между R-деревьями и kd-деревьями : они избегают перекрытия внутренних узлов, вставляя объект в несколько листьев, если это необходимо. Покрытие - это вся область, покрывающая все связанные прямоугольники. Перекрытие - это вся область, содержащаяся в двух или более узлах. Минимальное покрытие уменьшает количество «мертвого пространства» (пустой области), которое покрывают узлы R-дерева. Минимальное перекрытие сокращает набор путей поиска к листьям (даже более критично для времени доступа, чем минимальное покрытие). Эффективный поиск требует минимального покрытия и дублирования.
Деревья R + отличаются от деревьев R тем, что: не гарантируется, что узлы будут заполнены хотя бы наполовину, записи любого внутреннего узла не перекрываются, а идентификатор объекта может храниться более чем в одном листовом узле.
Поскольку узлы не перекрываются друг с другом, производительность точечных запросов повышается, поскольку все пространственные области покрываются не более чем одним узлом. Проходит единственный путь и посещается меньше узлов, чем с R-деревом.
Поскольку прямоугольники дублируются, дерево R + может быть больше, чем дерево R, построенное на том же наборе данных. Создание и обслуживание деревьев R + сложнее, чем создание и обслуживание деревьев R и других вариантов дерева R.