@borgch

Как построить сбалансированное бинарное дерева поиска, в котором данные хранятся в листах?

Пытаюсь построить range tree для некоторого набора n-мерных точек в целях обучения. Для начала - одномерный случай. По книге де Берга, для простоты алгоритма предлагается создать сбалансированное бинарное дерево поиска, причём данные хранятся в листах этого дерева. Не могу придумать, как такое дерево создавать. Картинка. 539b1ad28be94202bf6ea191932d041e.png
  • Вопрос задан
  • 749 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
Если хотите хранить данные только в листах, храните в нелистовых вершинах интервал. Например, в дереве на рисунке вместо нелистовой вершины 37 храните интервал [30, 49]. Подобная идея используется в https://en.wikipedia.org/wiki/R-tree - почитайте про него тоже, если вам нужно для точек. Это как раз дерево для пространственной индексации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы