UB-дерево, предложенное Рудольфом Байером, представляет собой сбалансированное дерево для хранения и эффективного извлечения многомерных данных. По сути, это B + дерево (информация только в листьях) с записями, хранящимися в соответствии с Z-порядком, также называемым порядком Мортона. Z-порядок просто вычисляется путем побитового чередования ключей.
Вставка, удаление и точечный запрос выполняются как с обычными деревьями B +. Однако для выполнения поиска по диапазону в многомерных точечных данных должен быть предусмотрен алгоритм для вычисления из точки, обнаруженной в базе данных, следующего Z-значения, которое находится в диапазоне многомерного поиска.
Исходный алгоритм для решения этой ключевой проблемы был экспоненциальным с размерностью и, следовательно, неосуществимым ("GetNextZ-address"). Решение этой «важной части запроса диапазона UB-дерева», линейного с длиной в битах z-адреса, было описано позже. Этот метод уже был описан в более ранней статье, где впервые было предложено использование Z-порядка с деревьями поиска.
| journal =
().