У меня есть объект 'Entity', этот Entity содержит атрибут entity_type в простейшей форме:
class Entity:
def __init__(entity_type: str):
self.entity_type = entity_type
Я поддерживал следующие типы сущностей:
{'entity_a', 'entity_b', 'entity_c', 'entity_d'}
Мне нужно построить потенциально неограниченное (широкое) дерево этих сущностей, есть только 1 ограничение:
entity_a может содержать только потомки entity_b, entity_c и entity_d,
entity_b может содержать только потомковof entity_c, entity_d,
entity_c может содержать только дочерние объекты entity_d,
entity_d не может иметь дочерних элементов
entity_a, хотя может иметь 50 entity_b, в которых может быть 50 entity_c, в которыхможет иметь 50 entity_d.
Глубина здесь составляет максимум 4 уровня, однако ширина может быть неограниченной
Какой подход / алгоритм (ы) могут быть реализованы для этой проблемы?предоставить относительно простой способ построения различных иерархий сущностей?