этот вопрос касается лучших практик.Я реализую трехмерный интервал Kd-Tree, и из-за рекурсивной структуры дерева у меня возникнет соблазн создать уникальный класс KdTree
для представления самого дерева, узлов и листьев.
Однако: элементы содержатся только на листьях, некоторые общие параметры дерева (например, максимальное количество элементов перед разбиением пространства) должны быть одинаковыми для всех деревьев, и, наконец, плоскости разбиения не имеют смысла ввсе в листьях.
Это сказало: я должен составить три класса (KdTree
, KdNode
, KdLeaf
) или просто притвориться, что каждый узел или лист на самом деле является Kd-деревом (которое,на самом деле, именно так) и дубликаты данных?
Томмазо